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
dd9cff006f
feat: add new emoji assets for active_case, added, ban, inactive_case, jail, kick, removed, timeout, warn feat(pyproject.toml): add reactionmenu package to project dependencies refactor(ban.py): update usage instruction for ban command and remove unnecessary line after ban execution feat(moderation/cases.py): add new moderation cases management feature feat(reactionmenu/__init__.pyi): add new reactionmenu library for discord pagination The moderation cases management feature allows for viewing and modifying moderation cases in the server. The reactionmenu library supports pagination with buttons, reactions, and category selection using selects. feat(tux/stubs/reactionmenu/abc.pyi): add new stub file for reactionmenu module This commit adds a new stub file for the reactionmenu module in the tux library. This will help in providing type hints and autocompletion for the reactionmenu module in IDEs that support Python type hints. docs: add detailed docstrings to methods and properties in the menu class This commit adds detailed docstrings to all methods and properties in the menu class. The docstrings include information about the purpose of each method/property, the parameters they accept, the return type, and any exceptions they might raise. This will make it easier for developers to understand how to use the menu class and what each method/property does. feat: add set_relay and remove_relay methods in the code to handle button press events docs: add comprehensive docstrings for set_relay and remove_relay methods explaining their functionality, parameters, and exceptions feat(buttons.pyi): add new type stub file for reactionmenu/buttons.py to provide type hints and improve code readability and maintainability feat: add ReactionButton class and related methods This commit introduces the ReactionButton class, which represents a reaction in the ReactionMenu. It includes several methods for setting button details, generating skip buttons, and factory methods for creating specific types of buttons. This enhancement provides a more structured and flexible way to manage reactions in the ReactionMenu. feat(core.pyi): add new file for ReactionMenu class with methods and properties docs(core.pyi): add docstrings for ReactionMenu class, methods, and properties to improve code readability and provide usage information feat: add multiple overloads to start method in ReactionMenu class to support various types of send_to parameters docs: add comprehensive docstring to start method explaining its parameters, their types, and possible exceptions raised feat(tux/stubs/reactionmenu): add decorators.pyi and errors.pyi stub files for better type checking docs(decorators.pyi, errors.pyi): add MIT license and function/class descriptions for better understanding of the code feat(reactionmenu): add new file views_menu.pyi for type hinting and better code intelligence feat: add methods to manage menu items in ViewMenu class - Add methods to add, remove, enable, disable, and get select items - Add methods to add, remove, enable, disable, and get go to select items - Add methods to add, remove, enable, disable, and get button items - Add methods to update menu, randomize button styles, set button styles, and refresh menu items - Add methods to stop and start the menu - These changes provide a comprehensive interface for managing menu items in the ViewMenu class. docs: Add comprehensive docstring to the start method in the menu class This commit adds a detailed docstring to the start method in the menu class. The docstring includes a description of the method, its parameters, and the exceptions it raises. This will improve code readability and provide better understanding for developers working with this method. refactor(flags.py): replace default "No reason provided" with MISSING for better error handling style(flags.py): rename flag names for better clarity and understanding feat(flags.py): add new class CaseModifyFlags to handle case modifications |
||
---|---|---|
.archive | ||
.github | ||
assets | ||
config | ||
docs | ||
prisma | ||
tux | ||
.editorconfig | ||
.env.example | ||
.gitignore | ||
.mise.toml | ||
.pre-commit-config.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
justfile | ||
LICENSE.md | ||
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.