Skip to content

pbhuss/meowbot

Repository files navigation

meowbot

Simple Slack chatbot that responds to predefined commands.

Getting Started

Prerequisites

You must have docker and docker-compose installed.

Meowbot is configured to use Nginx as a reverse-proxy with uWSGI.

You'll also need an existing Slack workspace to connect to meowbot. Create one here.

Installing

Slack Setup

Create a new Slack app at https://api.slack.com/app.

  • Go to Features → Event Subscriptions
    • Enable events for https://$(MEOWBOT_HOST)/meow
    • Subscribe to the following Bot Events:
      • message.channels - A message was posted to a channel
      • message.groups - A message was posted to a private channel
      • message.im - A message was posted in a direct message channel
      • message.mpim - A message was posted in a multiparty direct message channel
      • reaction_added - A member has added an emoji reaction to an item
  • Go to Features → App Home
    • Create a bot user with display name and username meowbot
  • Go to Features → OAuth & Permissions
    • Add a Redirect URL for https://$(MEOWBOT_HOST)/authorize
    • Under Scopes, add the scope bot
      • Note: this scope is deprecated. Instructions for granular permissions will be added in the future
  • Go to Settings → Basic Information
    • You'll need the Client ID, Client Secret, and Signing Secret for the next step

Configuration

Update config.yaml

  • Get signing_secret, client_id and client_secret from the Slack Setup above
  • Sign up for the free APIs listed and paste in your API keys
  • Set your default_zip_code
    • This will be used for commands such as weather and airquality when no location is specified
  • Set your admin_username and admin_password
  • Set the default_tv_channel

Update .env

  • Change MEOWBOT_HOST to the hostname you would like to use for meowbot.

[optional] Update channels.json

  • Add your favorite live YouTube streams or other videos
  • Full-screen embedded players work best

Docker

Start meowbot by running:

docker-compose up -d

Stop it by running:

docker-compose down

Built With

APIs

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see LICENSE.md for details.

About

🐱 Simple Slack chatbot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages