1
Fork 0
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.
Find a file
kzndotsh dd9cff006f chore: remove unused pagination.py file from .archive directory
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
2024-07-25 15:04:44 +00:00
.archive chore: remove unused pagination.py file from .archive directory 2024-07-25 15:04:44 +00:00
.github Delete .github/dependabot.yml 2024-06-21 12:15:50 -04:00
assets chore: remove unused pagination.py file from .archive directory 2024-07-25 15:04:44 +00:00
config feat(emojis): add new tux_prefix.png file to provide a new emoji for the bot 2024-07-16 18:59:09 +00:00
docs style(README.md): replace CRLF line endings with LF for better cross-platform compatibility 2024-04-11 19:24:07 +00:00
prisma refactor(schema.prisma): rename enum values HACK_BAN and TEMP_BAN to HACKBAN and TEMPBAN for consistency 2024-07-22 16:39:18 +00:00
tux chore: remove unused pagination.py file from .archive directory 2024-07-25 15:04:44 +00:00
.editorconfig feat: add .editorconfig for consistent coding style across different editors 2024-04-11 20:22:47 +00:00
.env.example chore(.env.example): restructure and clean up environment variables for better organization and clarity 2024-07-13 19:21:16 +00:00
.gitignore Added new commands 2024-05-06 18:41:31 -05:00
.mise.toml feat: add .editorconfig for consistent coding style across different editors 2024-04-11 20:22:47 +00:00
.pre-commit-config.yaml chore(.pre-commit-config.yaml): update ruff-pre-commit version from v0.5.3 to v0.5.4 to include latest updates and bug fixes 2024-07-22 16:32:33 +00:00
docker-compose.yml feat: add Dockerfile and docker-compose.yml for containerization 2024-06-11 05:18:25 +00:00
Dockerfile style(Dockerfile): add line breaks for better readability and maintainability 2024-07-02 21:09:07 +00:00
justfile chore(.env.example): restructure and clean up environment variables for better organization and clarity 2024-07-13 19:21:16 +00:00
LICENSE.md Update LICENSE.md 2024-06-21 23:54:58 -04:00
poetry.lock chore: remove unused pagination.py file from .archive directory 2024-07-25 15:04:44 +00:00
poetry.toml feat(poetry.toml): add poetry.toml file to create virtual environments within the project directory 2024-07-02 19:19:07 +00:00
pyproject.toml chore: remove unused pagination.py file from .archive directory 2024-07-25 15:04:44 +00:00
README.md Update README.md 2024-06-22 00:07:05 -04:00
renovate.json Add renovate.json 2024-04-11 20:02:04 +00:00

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

Steps

  1. Clone the repository

    git clone https://github.com/allthingslinux/tux && cd tux
    
  2. Install the dependencies

    poetry install
    
  3. Activate the virtual environment

    poetry shell
    
  4. Install the pre-commit hooks

    pre-commit install
    
  5. Generate the prisma client

    prisma generate
    
  6. Copy the .env.example file to .env and fill in the required values

    cp .env.example .env
    
  7. Run the sync command in the server to sync the slash command tree.

    {prefix}sync <server id>
    
  8. 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.