/reactor-bot

The best dang Discord poll bot around™

Primary LanguagePythonMIT LicenseMIT

Reactor™

Unit Test Status Coverage Status Discord Bots List

The best dang Discord poll bot around™

Usage

poll: Is F# better than Python?

The bot will add 👍, 👎, and 🤷 (shrug) as reactions

poll: Where should we go for pizza?
A Domino's
B Papa John's (papa bless)
C Giordano's

The bot will add 🇦, 🇧, 🇨, and 🤷 as reactions (You can also use numbers, but not 1234 or 10 for technical reasons)

You can also use right-parens and other emoji

poll: How should I punctuate whomstve?
🤔) whomst've
:thonking:) whom'st've
🅱️) w'h'o'm's't've

🤔, :thonking: (if your server has it), 🅱️, and 🤷 will be added as reactions

If you have a certain channel for which every message should be a poll, you can use the command: poll:prefixless. It works like this:

poll:prefixless #channel-here yes/no

If yes (or 1 or true), every message sent in that channel will be treated as a poll. You need the "manage roles" permission to change this setting.

Installation

Run this in psql:

CREATE USER reactor;
\password reactor
CREATE DATABASE reactor WITH OWNER reactor;

And then copy data/config.example.json to data/config.json and fill out the appropriate values in the database section and all the other sections.

Next, install the database schema: psql reactor -f data/schema.sql.

Now just pip install -e ., preferably inside a venv. And finally, to run the bot, you do python -m reactor_bot.

Compatibility

Python3.6+

License

MIT. See COPYING.