TaggerBot app.json

by aaamoeba

GitHub Readme.md

Sample GroupMe Python Bot

Python | JavaScript

Introduction

A simple GroupMe bot that reacts to messages sent within a group.

Contents

Requirements:

Get your bot up and running

Deploy to Heroku:

Be sure to log in to Heroku, using your Heroku credentials, then click the link below.

Deploy

You should be taken to a page that looks like this:

Deploy to Heroku

Optionally, you can give your app a name, or instead leave it blank and let Heroku name it for you (you can change it later).

Success

Next, create a GroupMe Bot:

Go to: https://dev.groupme.com/session/new

Use your GroupMe credentials to log into the developer site.

Log into dev.groupme.com

Once you have successfully logged in, go to https://dev.groupme.com/bots/new

Create your new bot

Fill out the form to create your new bot:

  • Select the group where you want the bot to live
  • Give your bot a name
  • Paste in the URL of your newly deployed Heroku app
    • http://your-app-name-here.herokuapp.com/
  • (Optional) Give your bot an avatar by providing the URL of an image
  • Click submit!

Find your Bot ID:

Go here to view all of your bots: https://dev.groupme.com/bots

Click on the one you just created.

Select your new bot

On your Bot's page, copy the Bot ID

Copy your Bot ID

Add your Bot ID to your Heroku app:

Go here to see all of your Heroku apps and select the one you just created before:

https://dashboard-next.heroku.com/apps

Select your heroku app

On your app page, click settings in the top navigation:

Go to your app's settings

On your app's setting page, find the Config Vars section and click the Reveal Config Vars button:

Reveal your environment variables

Then click edit:

Edit your environment variables

Fill out the form to add an environment variable to your app:

  • In the "key" field type: BOT_ID
  • In the "value" field paste your Bot ID that you copied in the previous steps
  • Click the save button

Add the Bot ID environment variable

Now go test your bot!

Go to GroupMe and type "/ping" in the group where your bot lives to see it in action.

Test your Bot

Make it your own

Pull the code to your local machine

Within terminal, change directory to the location where you would like the files to live, then run this command:

heroku git:clone -a YOUR_APP_NAME_HERE

And then change directory into the new folder

cd YOUR_APP_NAME_HERE

Configure your local BOT_ID environment variable

You will need to set the BOT_ID environment variable so that your bot will know where to send its messages.

If you don't know what your Bot ID is, please refer back to this section, where it is explained how to retrieve it.

In your terminal, run

export BOT_ID=INSERT_YOUR_BOT_ID_HERE

You may wish to add this to a file that runs each time you start your shell, such as ~/.bashrc.

For Heroku, run:

heroku config:set BOT_ID=INSERT_YOUR_BOT_ID_HERE

Start the server

To test your bot locally, open terminal and install dependencies:

pip3 install -r requirements.txt

Then start a local server.

FLASK_APP=bot.py flask run

or use gunicorn to imitate the production Heroku environment:

gunicorn bot:app

Then navigate to http://localhost:8000 in a browser.

Local bot

All done! Go play around and make the bot your own.