A modular discord bot written in Python
Notice: This repo is a rewrite of this repo. This bot is currently underconstruction
Fully featured bot including but not limited to: User warning system with optional punishments Customizable word filter Moderation commands to handle any situation (if they worked /s) Approval system to prevent raiding and keep private servers private Allow some users to have access to more features if they are trusted in a community Customizable self roles Colors for either each user or communally used colors depending on how a server wishes to configure And much much more!
- Install Python 3.9+ and postgresql 13.
- Create a postgres user (By default the schema expects a user called
terrygon
. If you plan to use a different name, change the first line inschema.sql
). - Clone the project locally and cd into it.
- Create a venv
python3 -m venv virtualenv
, and activate itsource virtualenv/bin/activate
. - Run
python -m pip install --upgrade pip
and thenpython -m pip install -r requirements.txt
. - Next, run
cp config.toml.example config.toml
if you are on linux or macos,copy config.toml.example config.toml
if you are on windows. - Edit the
config.toml
fields with your information. Each field is labled on what it does, if you need help making a bot token, you can check here for instructions on making it and adding it to your server. - Change the paths in
terrygon.service
for where your bot is located, and where the virtualenv is located. - Copy
terrygon.service
to~/.config/systemd/user
. - Run commands
systemctl --user daemon-reload
and then finallysystemctl --user start terrygon.service
. You may also choose to enable this at start up.
- Install Docker and then clone this repository.
- Enter the cloned repo directory in a terminal.
- Run
cp config.toml.example config.toml
if you are on linux or macos,copy config.toml.example config.toml
if you are on windows. - Edit the
config.toml
fields with your information. Each field is labled on what it does, if you need help making a bot token, you can check here - Run
docker compose up -d
and docker will automatically make a containerized bot. Thedata
folder is a volume into the container.
-
Python 3.9 or later
-
Python modules:
-
PostgresSQL 13
-
Linux machine
-
systemd to use the systemd service
- Rapptz for discord.py.
- astronautlevel for her QR code addon.
- T3CHNOLOG1C for the orginal code.
- Snowfall for general advice and code inspiration.
- Noirscape for general advice and code inspiration.
- The on my discord server for naming the bot.
- My friends on my discord server and exelix's server who gave me inspiration and a will to work on this.