Beebot is open source and has a /charge command

Beebot is now open source so if people have ideas for new tricks it can do, hack away! When you create a pull request to master, I have it set up so that heroku spins up an instance of the app based on that PR at https://beebot-pr-N.herokuapp.com where N is replaced with the PR number.

There’s also a new slash command called /charge. It uses the charge endpoint of the Beeminder API and lets you charge yourself immediately or on a schedule.

For example, you could say /charge 5 in 30 unless I send this email. Then if you send the email in time you can say /charge cancel to cancel it, or if you don’t, just let the charge go through.

It’s sort of like GTBee but more flexible with the amounts.

Full help text:

How to use /charge
/charge N [reason] charge yourself $N (real, US dollars) via the Beeminder API. Optionally include a reason
/charge N in X [reason] charge yourself $N in X minutes unless you cancel before the timer runs out (e.g. you complete the task) Optionally include a reason
/charge addcard show the URL to add a payment method to Beeminder
/charge cancel cancel all pending charges
/charge cancel reason cancel charge matching reason
/charge list lists all pending charges
/charge help show this message

6 Likes

Now, if only Beebot could convert the currency…

2 Likes

I’m getting inconsistent and dysfunctional replies from my beebot:

philip [2:54 PM] 
/charge 1 in 30 as a test

Beeminder BOT [2:54 PM] 
Charging philip $1 in 30 minutes (as a test)

beebotBOT [2:54 PM] 
It looks like you haven't linked Beeminder to Slack yet. Visit […] to do so

[2:54] 
Unrecognized command "/charge 1 in 30 as a test"
Available commands:
[…]

All very confusing, because it’ll happily list my goals and let me add datapoints.

Update: the /charge command seems fully functional, but is also verbosely treated as an unknown command, and for whatever (unrelated?) reason the accompanying help text (only for the /charge command) thinks that my account isn’t linked.

1 Like

There’s an issue with authorizing the beebot with the same Beeminder account on multiple teams… would that explain this? Which slack team are you trying this on? A temporary workaround is to delete Slack from the services page and re-auth, but I’m looking into fixing the actual issue.

2 Likes

Hmm, pretty sure that I only auth’d it on my company’s team, but of course it is also installed on the Beeminder team slack, which may (or not) be relevant. Thanks for the hint!

Nonetheless, for those following in my cargo-cult footsteps, this worked:

  • removed the beebot from my company’s team
  • removed slack authorisation from my Beeminder services page.
  • install the beebot in the desired team (if needed)
  • re-auth with the desired team in Beeminder

I rather suspect that it was deleting the slack authorisation and then re-authing it that did the trick. (Which is what @apb suggested, of course.)

1 Like

Update: this should now be fixed. The services page shows you which team the auth is for (hover for title text for long team/user names). So you should be able to tell which team you need to auth on. Also can’t hurt to just remove any current slack service listed and reauth on all as Philip did.

3 Likes