I can connect to your Google calendar and notify you of invites, upcoming events and more! 📅
Running
In order to run the Google Calendar bot, there needs to be a running MySQL database in
order to store account and webhook data.
On that SQL instance, create a database for the bot, and run db.sql to set
up the tables.
Build the bot using Go 1.13+, like such (in this directory):
go install .
Create an OAuth Client ID for a 'Web Application' via the Google API
Console. Download
the credentials locally as credentials.json.
In order for users to login using a web browser, the bot needs a server side secret. You must pass this in with --login-secret.
The bot sets itself up to serve HTTP requests on /gcalbot. The HTTP server
runs on port 8080. You can configure nginx or any other reverse proxy
software to route to this port and path.
To start the Google Calendar bot, run a command like this:
# NOTE --kbfs-root specifies the path to the crendentials.json file.
# NOTE --http-prefix needs to be https for the Google API webhooks to function
$GOPATH/bin/gcalbot --dsn 'root@/gcalbot' --kbfs-root ~/Downloads --http-prefix https://mydomain.com --login-secret 'moony wormtail padfoot prongs'
Run gcalbot --help for more options.
Helpful Tips
If you accidentally run the bot under your own username and wish to clear the
! commands, run the following:
keybase chat api -m '{"method": "clearcommands"}'
The following links are helpful for using the Google Calendar API:
There are a few complications running a Keybase chat bot, and it is likely
easiest to deploy using Docker. See https://hub.docker.com/r/keybaseio/client
for our preferred client image to get started.