👋🖖 A friendly chatbot that lives in Civic Tech Toronto's Slack team. 💬🤖
- Coffeescript. A little language with syntactic sugar that compiles into JavaScript.
- Hubot. A chatbot framework for running/creating shared tasks.
- Heroku. A platform for easily deploying applications.
- Slack. A user-friendly chat tool for large teams and communities.
See scripts/
for the set of custom commands/scripts
enabled for our chat bot.
Note for screenshots: Our chatbot was previously named "toby".
This command allows any member of our Slack team to easily add events to a shared community Google calendar via:
>>> @ourbot gcal add https://eventbrite.com/xxxxxxxxxxxxx
This depends on another small service for parsing event data from urls: https://github.com/CivicTechTO/event-metadata-parser
For now, this service only knows how to make sense of events on the EventBrite and Universe platforms, but it could be improved to cover other platforms.
This script watches for Twitter links in top-level channels, and offered to RT from organizational account
This bot command recognizes messages of the format !keyword
and looks
up the keyword in a designated spreadsheet (like this one). It
replies with the URL. Using !!keyword
will reply with a hidden message
than only the user who typed the message will see.
This relates to a scheduled task that we run, which updates our shortlinks from this spreadsheet: https://github.com/civictechto/civictechto-scripts#gsheet2shortlinkspy
We have an internet number set up to notify us our chat channel whenever someone texts us. We use this as a doorbell at meetups, so that all organizers can easily take responsibility for answering and dealing with issues.
It lives in its own code repository, so please see the
civictechto/hubot-sms-doorbell
README for full details
This bot command is used to manually kickstart scripted jobs or tasks,
which are otherwise usually scheduled to run at certain times. These
scripts are run by CircleCI, and in our case, are defined in the
CivicTechTO/civictechto-scripts
repo and accompanying config
file. The command allows this ability through the use of
CivicTechTO/circleci-job-runner
, a small app that offers an API
for initiating these runs. There is no authentication on these tasks,
and so it's assumed that all tasks are safe to run at any time.
This command is intended to make it easy for almost anyone to run livestreaming. It offers commands for:
- assisting with instructions and configuration,
- setting the event title on the video
This app is hosted on the Heroku platform, and configured using their automatic deployment feature.
This means that pushing or merging changes specifically to the master
branch will make the changes live within several minutes.
You'll need to change the name in several places, some of which are critical ⭐ and some of which are just to keep things consistent:
- ⭐ username of Slack integration
- this GitHub repo
- README title
bin/hubot
(used to local testing)- optional: screenshots
Yes, but just note that you'll need to update some configuration for our
SMS doorbell. Specifically, you'll need to re-point our internet
number's SMS URL Callback. Details on this configuration/setup linked from
CivicTechTO/hubot-sms-doorbell
.