3pseatBot started as a bot that enforced the arbitrary rule on a Discord server that all messages start with "3pseat". 3pseatBot has since developed into a multipurpose bot with useful features and not-so-useful features. 3pseatBot includes a number of cogs (extensions) that extend the base functionality of a bot and support for adding your own cogs.
Features include:
- Simple slash command and event listener registration
- General use slash commands:
/tts
,/flip
,/mmr
and more - Birthday messages
- Slash commands for creating custom slash commands
- Voice TTS and text channel reminders
- Voice channel sound board with web interface
Note: the bot is not publicly available but the code is open-source!
It is recommended to install 3pseatBot inside of a virtual environment
to prevent interfering with system wide packages. tox
provides a
handy --devenv
flag to configure an environment with all of the development
packages already installed.
$ git clone https://github.com/gpauloski/3pseatBot
$ cd 3pseatBot
$ tox --devenv venv -e py311
$ . venv/bin/activate
If you are just deploying the bot or using the threepseat
library, you can
skip tox
and just create a new virtual environment and install with
pip install .
.
The bot can be run using the CLI if the threepseat
package is installed
via pip or as an executable module.
$ threepseatbot {args}
$ python -m threepseat {args}
pre-commit
is used to manage linting, type checking, and more.
Add the git hook so pre-commit
validates all of your commits.
$ pre-commit install
To check your code passes the pre-commit
checks prior to committing, use:
$ pre-commit run --all-files
The test suite uses tox
. Run the tests with:
$ tox -e py311