mirror of
https://github.com/allthingslinux/tux.git
synced 2024-10-02 16:43:12 +00:00
Tux is an all in one bot for the All Things Linux discord server.
asynciodiscorddiscord-pydockerdotenvhttpxjustlinuxlogurumkdocs-materialmypypoetrypre-commitprismapyrightpythonrenovateruffsupabase
53a7493345
refactor(dev.py): rearrange error handling methods for better readability and maintainability refactor(avatar.py): extract common logic into send_avatar method to reduce code duplication refactor(remindme.py): simplify database access by directly using the reminder table feat(case.py, note.py, reminder.py): add ensure_guild_exists method to check and create guild if not exists refactor(case.py, note.py, reminder.py): call ensure_guild_exists before creating a new entry to ensure guild exists feat(snippet.py): add ensure_guild_exists method to check and create guild if not exists refactor(snippet.py): modify create_snippet method to call ensure_guild_exists before creating a snippet, ensuring guild existence |
||
---|---|---|
.archive | ||
.github | ||
assets | ||
config | ||
docs | ||
prisma | ||
tux | ||
.editorconfig | ||
.env.example | ||
.gitignore | ||
.mise.toml | ||
.pre-commit-config.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
justfile | ||
LICENSE.md | ||
mypy.ini | ||
poetry.lock | ||
poetry.toml | ||
pyproject.toml | ||
README.md | ||
renovate.json |
Tux
A Discord bot for the All Things Linux Discord server
NOTE: This bot (without plenty of tweaking) is not ready for multi-server use, we recommend against using it until it is more complete
About
Tux is a Discord bot for the All Things Linux Discord server. It is designed to provide a variety of features to the server, including moderation, support, utility, and various fun commands. The bot is written in Python using the discord.py library.
Installation
Prerequisites
- Python 3.12
- Poetry
Steps
-
Clone the repository
git clone https://github.com/allthingslinux/tux && cd tux
-
Install the dependencies
poetry install
-
Activate the virtual environment
poetry shell
-
Install the pre-commit hooks
pre-commit install
-
Generate the prisma client
prisma generate
-
Copy the
.env.example
file to.env
and fill in the required valuescp .env.example .env
-
Run the sync command in the server to sync the slash command tree.
{prefix}sync <server id>
-
Review all useful CLI commands by visiting the useful CLI commands file.
License
This project is licensed under the terms of the The GNU General Public License v3.0. See the LICENSE file for details.