
Ask HN: Do you have personal bots? - xcubic
What do they do?
======
odomojuli
I have three GPT-2 bots that hook up to Slack so I can pretend I have
coworkers.

One of them is general queries on the latest model, one is Gwern's poetry bot,
and the third is trained on toxic/moderated comments and says only sadistic
cruel things to me. I don't know why I built the last one.

~~~
xcubic
Funny. Are they open source?

~~~
odomojuli
Yeah, I forked them over onto my github profile. The poetry model is available
on Gwern's website.

[https://www.gwern.net/GPT-2](https://www.gwern.net/GPT-2)

[https://github.com/odomojuli/slack-
gpt2-poetry](https://github.com/odomojuli/slack-gpt2-poetry)

You can train your own GPT-2 bot using minimaxir's GPT2-simple

[https://github.com/minimaxir/gpt-2-simple](https://github.com/minimaxir/gpt-2-simple)

------
passivepinetree
I only run a small one for kicks: it updates my github page with a dummy
commit each day. They got rid of streaks, but I still leave it running out of
some misplaced sense of sentimentality.

A few years ago, a friend and I built one that would scan twitter for tweets
in the vein of “like to win $ITEM” or “RT to win $ITEM.” Our bot would
automatically perform the requested action, and then text me (via twilio) for
each DM and mention we got (so I could manually respond and claim the prize).
We didn’t disguise it well, and were shut down after about 4 weeks, but it was
fun while it lasted! :)

~~~
ethanpil
What about your prize bot violated Twitter policy?

~~~
nyuszika7h
Automated liking/retweeting is not allowed.

~~~
dplgk
So why expose it via the API?

~~~
detaro
So apps can do it in reaction to user input.

------
iamaelephant
I have a bot that scrapes the local Building Consents website for my home
building project and emails me if the local council has completed an
inspection because my builder can't communicate for shit. I have a bot that
polls the Google Health API and syncs my current weight (which comes from an
electronic scale) to a spreadsheet where some friends are doing a weight loss
challenge. I have a bot which scans my Downloads directory and semi-
intelligently identifies movies and TV shows and moves them to the appropriate
directory.

The Health API and Consents bot are .NET Core running on a Raspberry Pi. The
Download bot is on my main Windows machine, written in Python.

Other bots have come and gone, of course.

------
winrid
Yes!! Bots are so fun to make and just have run. Like forever running rube
Goldberg's machines :)

For over a year I had a Pi with a camera in a window at my Parents' house that
took a photo every 15mins and uploaded to a server of mine. Then I had a
mechanism to play back as a video. It was nice to watch the seasons go by
while on the other side of the continent. They weren't very good at keeping it
plugged in though.... Backend was in Play2/Scala since it was hip at the time
and client in Python.

I worked on software for devices mounted on powerlines and had to build that
functionality. That inspired me to have my own.

Have a Screeps bot in the top 20. About 40k lines of JS...

Working on a bot that can quickly connect you to a real person at
[https://watch.ly](https://watch.ly)

Definitely want to build more. Following this thread for ideas. :)

------
sayhitovincent
To manage my wife's medication on the correct timeframes I built my own bot.
It's connected to our normal day to day messenger channels so it's been nice
and convenient. [https://reminderbot.io](https://reminderbot.io)

~~~
happppy
Where do you host your bot?

------
yen223
I've got a bank account that offers bonus interest if I use the debit card
five times within a month. I don't like to use debit cards, so I built a bot
that automatically makes five $1 charges to that debit card.

~~~
SenHeng
Is the bonus interest worth $5/mth?

~~~
bobbean
Money can be exchanged for goods and services. Even if you don't use a bot,
you could just buy like, 5 things you need.

------
hkhanna
I have a bot that polls my Airtable list of birthdays and if it is someone's
birthday, it sends me a push notification via IFTTT at 7am that morning so I
can call or text them first thing in the morning.

[https://github.com/hkhanna/birthday_notify](https://github.com/hkhanna/birthday_notify)

~~~
ars
Wouldn't it be easier to just make a yearly repeating calendar entry with a
reminder?

~~~
o-__-o
Lol I started doing this two years ago and now I have a reminder for all of my
friends, family, uncles, aunts, nieces and nephews. It really makes a person
feel good to send them a text on their bday

------
nunez
Yes; several!

I have a Ruby bot running in Lambda that forwards emails in my Gmail inbox
that are tagged with a specific label to Expensify automatically. This saves
me a LOT of time, especially since Expensify doesn't have this feature yet.

I'm writing another small API on Lambda with Ruby that returns flight info
from FlightAware in JSON format so I can use it with Tasker to do things like
send travel updates on WhatsApp and log my travel in Google Keep. I do this
every time I travel, and while I have a Tasker task that uses the FlightAware
JSON at the bottom of the page to achieve this, it's given me stale
information several times, which has been annoying.

Up deck on Trello, I want to write another bot that uses my TripIt trips to
update my Slack status at work so that people know where I am!

I also have a few Tasker shortcuts that help me during my travels.

The less I have to remember to do, the better!

~~~
Hnrobert42
Not a bot, but... you could have TripIt update your Google calendar. Then link
Slack to the calendar. It will update your status when in a meeting. Not sure
about other statuses.

------
Teledhil
I made a bot that sent me alerts whenever La Resistencia, a Spanish TV show,
had tickets available to be in the audience. It is a very popular show and
tickets are usually available in their web for less than 5 minutes. I even
made an app:
[https://play.google.com/store/apps/details?id=eu.teledhil.la...](https://play.google.com/store/apps/details?id=eu.teledhil.laresistencia)
It no longer works because they added a recaptcha.

I also have a chat bot based on megahal, a bot that downloads subtitles for my
torrent videos. At work I made a bot connected to slack that alerted of some
server issues.

------
SwiftyBug
I have a bot that every 30 minutes iterates over every comment on the top 25
posts in Reddit /r/all and replies "Mom's spaghetti" to any comment that
contains the string "eminem".

~~~
xcubic
How much karma have you gained? ^^

~~~
SwiftyBug
Actually I get more downvotes. People don't seem to find it that funny

------
seanwilson
I wrote a Chrome extension that checks websites for best practices:

[https://www.checkbot.io/](https://www.checkbot.io/)

It acts like a search bot does and gives SEO advice.

~~~
xcubic
I know. I use it. Thank you very much

------
catacombs
I have an annoying co-worker who constantly haggles me on Slack. I've since
made a Slack bot, masquerading as me, who communicates with said co-worker.
It's been a life saver.

~~~
TheHunter
Sounds like a job for Son of Anton

~~~
catacombs
Son of Anton can handle anything.

------
jingw222
I built a Reddit daily digest bot. It grabs top posts from each of a pool of
subreddits that I'm interested in and send them via email on a daily basis.
It's a open source [side
project]([https://github.com/jingw222/redditdailybot](https://github.com/jingw222/redditdailybot)).

------
o-__-o
I wrote a bot that watched twitter for stock symbols and then applied a social
sentiment index based on the tone of the tweet. The historical stock quotes
were downloaded, and the stock was added to a polling system to capture future
quotes. The social sentiment could then be turned into an indicator to
determine when to buy/sell especially if used with other indicators.

Well I forgot about the system then twitter changed their api rules. When I
went back it had captured data for 2 years. I backtested the trades and I
found that it sucked for indexes/etfs, worked mmokay for pop stocks (think
Tesla, bynd, suneq) but really shined for pump and dump stocks. With Twitter
out I added stocktwits, Reddit, and tradingview. I now have twitter again and
all of these feeds are run on various dedicated servers feeding into a
mothership

NB: the system was originally written for a stock pumper who disappeared after
a month of development

~~~
donclark
Neat concept. Is there somewhere we can see this in action?

------
zblesk
I do have some, the most interesting ones running in Huginn
[https://github.com/huginn/huginn](https://github.com/huginn/huginn)

I use it for some data gathering and most importantly, notifications and a
'personal newsletter'.

There are quite a few people in this thread that wrote things that send
notifications to them; my setup kinda goes the other direction, because I
don't want to be constantly spammed and nagged by my own bots.

So for instance, there are some software projects I want to keep up with, but
I neither want to be interrupted by notifications, nor do I want to have a
bunch of spam in my RSS reader. So I set Huginn up to watch some RSSs, some
webs and instagrams and things like that, collects them, and then sends me one
summary mail every two days.

Similarly, I also get one Pushbullet notification with all the headlines from
a news portal every day.

Huginn is great, you guys.

~~~
mxab
How do you run huginn? I've been thinking about setting it up on a raspberry
pi 4 but I'm not sure whether that's a good fit performance-wise.

------
bexsella
I've got a simple run running that calculates my girlfriend's GPA. The
University doesn't display your GPA where topics are listed, but it does list
the grade and weight. The calculation is easy and it only runs once a month,
and notifies her when new grades have been added.

------
alltakendamned
A few, doing things like submitting every article/link I add to my Pocket list
to archive.org to combat long-term link rot and scraping fund information to
help me doing data analysis supporting my investment strategy.

------
findyoucef
I have one that sends PS4 deals posted to r/ps4deals based on a list of games
im interested in.

I have another one that turns on a space heater remotely based on certain
conditions to keep my cat warm.

I have one that sends my team mates and I notifications about our upcoming
soccer matches, which includes the team we're playing including stats and
time.

I don't run this one anymore but I wrote a bot that would screen shot insider
ESPN articles if given a link for them and then replies with an imgur link of
the article.

------
stevekemp
Alerts from some services which I manage are sent to a slack channel, as well
as alerts/alarms from systems like datadog.

There exists a bot which will notify an on-call engineer to examine the
channel, via a phone-call - This uses a custom scripting language to handle
decisions and twilios API to trigger phone-calls.

(Hard to be on-call if you can't get woken up by things breaking; slack
messages are too easy to ignore.)

------
spzb
Does home automation count? I have an OpenHab/Node-Red setup that
automatically turns on the dehumidifier if the indoor humidity goes above 60%,
turns a light on a dusk and off at dawn and one that sends a notification to
my phone when the tumble dryer finishes (because I tend to forget it and
wonder where all my clean clothes have gone)

------
davchana
Does scripts count?

I have a Google Script, which adds a new row everday at 2am with blank fields
for me to put time in & out in timesheet. Same script generates a pdf every
month & puts it in my gmail draft.

Another one auto downloads all the changed repos from my gitlab & guthub.

------
apankrat
Wrote one just this weekend.

Not a chatty variety though. Keeps an eye on new CVE vulnerabilities being
posted and forwards them to me.

[https://github.com/apankrat/cve-monitor](https://github.com/apankrat/cve-
monitor)

------
haydn3
I've got one that grabs a few pages of my favourite background site and
replaces my windows backgrounds every week. It'll loop through the thousands
they have there a hundred at a time, so I'm right for the next couple years.

------
udayrddy
I created a LinkedIn bot in 2017, during my last semester, to apply jobs on
LinkedIn that match my profile. It helped me to invest my time in developing
skills through freelancing instead of applying jobs.

------
dplgk
I guess anything that is a script that repeats is a bot? I have one that
scrapes over 2,000 used car websites to tell me if a specific type of
collectible car is available under a certain price.

~~~
xcubic
I did this while looking for a new apartment.

------
rovr138
I have a few things running that check stack exchange tags, Twitter,
subreddits and sends alerts via slack to me when something matches.

Just a way to stay up to date on some things.

~~~
nchelluri
that's excellent. what language, what's the design, do you have your own
personal slack server, and so on.

~~~
rovr138
They’re all using Python.

A bunch of friends from back in college got together about 2 years ago for
Christmas. We all decided to use slack since we use it for work. I just
created a private channel there and the python scripts all post to the channel

\- Reddit is using the .json endpoints on the url,
[https://reddit.com/r/funny/.json](https://reddit.com/r/funny/.json) \- Stack
exchange loads the URLs and uses beautifulsoup. \- For Twitter I use twython

For posting to Slack, I use the slackweb package.

------
nchelluri
no. kind of like the sometimes heard of painter whose house never has a decent
coat of paint i rarely write any code for myself. i write code for a living.

but here are some of the little bots i've written on the dime:

\- ?lunch - an eggdrop command that displayed the catered lunch that day

\- scheduling bots that posted to channels who was "on call" for that day

\- yeah, that's it. in terms of bots. i thought i had more but i can't think
of jack

------
ars
I have a bot that downloads and saves statistics from a game I play, and then
plays a couple of the boring mechanical parts of the game.

~~~
xcubic
May I ask what game?

