This is the v2 rewrite for annoybot. (<= 1.9.0 repo)
Built with discord.py, Redis and Turso.
A discord.py bot primarily used to annoy your friends, harmlessly.
Highlights (Most used)
- roast: roast your friends with some dank roasts
- ghosttroll: ghost ping your friends in 3 different channels
- playnoise: play a stupid noise into your voice channel
- autoresponse: automatically respond to certain keywords
- ratio: produces a classic twitter ratio to ratio your friends
- And so much more! We have games, trolling, memes, dark jokes, it's all here!
Why wait? Piss your friends off now!
DONE:
- Automatically sharded bot on the server
- Turso primary db (sin)
- redis client
- scheduler with
discord.ext.tasks
TODO:
- Replication to secondary
docker
GNU Make
alembic
# optional
python (venv)
pip
- Rename
.env.local.exampleto.env.local - Set the required values
- Run
make migrate(Alembic, preferred) ormake init_db(manual)
# optional: activate venv to isolate python env
source venv/bin/activate || venv\Scripts\activate # (macOS/linux || windows)
make run # docker compose down and up
make migrate # handles alembic upgradesformat: make black
alembic revision:
make changes to the db/models/ directory. Once done, run make revise (Doing alembic revision -m "..." will not work with libsql) to autogenerate a revision with alembic.
migration on prod: run alembic upgrade \<migration-hash\> --sql > dump.sql, copy the content of the file, and paste into turso db shell \<name\>. (have not figured out turso auth yet 💀)