sausage_bot

SausageBot - affectionately known as “pølsa” among its Norwegian users - is a Discord bot with some very specific functions.

Functions

Administration (main)

Autoevent

Takes links to soccer games on predefined sites, and make them into an event for the server.

Command: /autoevent

Dilemmas

Create dilemmas for discussion on the server

Command: /dilemmas

Log Maintenance

Manage logging settings. How many days of logs to keep, or how big the log files should be.

Command: /log_maintenance

Poll

Make a simple poll.

Command: /poll

Quote

Save and post quotes from the server.

Command: /quote

Roles

Manage roles and reaction messages. Can autoadd role for new users.

Command: /roles

Roles

Reaction messages

Settings

Settings for roles and reaction messages on the server

RSS

Post RSS-feeds to a channel, both normal RSS-feeds and podcasts from Spotify.

Command: /rss

Scrape FCB

(A very specific cog for one of my servers) Scrape the football website https://www.fcbarcelona.com and post news from the website to specific team channels. Autposting news to specific channels: first-team, femení, atlètic, juvenil and club.

Stats

Get stats to post in a stats channel. Can post stats about the codebase, roles and their members.

Command: /stats

Youtube

Post new videos from given Youtube channels

Command: /youtube

Set up

Ok, so you want to run a Discord bot?

Register Discord bot

Follow the instructions on this page on Creating a Discord Bot Account: https://www.pythondiscord.com/pages/guides/python-guides/discordpy/#creating-a-discord-bot-account

Want Spotify branding on your podcast-feeds?

You need to register with Spotify API first:

Running the bot

Docker-compose

Use the docker-compose file.

Running locally with python

It is recommended to run the bot in a controlled environment, by using pipenv or similar services.

If you run python -m sausage_bot -h you can also see all the arguments you can add.

Build docker image

docker build .

docker run sausage_bot:latest -v [host path to a data folder]:/data


Want to contribute?

Here’s how to help out: