Skip to content

allthingslinux/tux

Folders and files

NameName
Last commit message
Last commit date
May 4, 2025
Apr 20, 2025
Jan 29, 2025
Apr 26, 2025
Apr 26, 2025
Apr 16, 2025
Apr 19, 2025
May 4, 2025
Apr 15, 2025
May 6, 2025
Apr 10, 2025
Apr 20, 2025
Apr 10, 2025
Apr 21, 2025
Apr 23, 2025
Mar 19, 2025
Apr 28, 2025
Mar 19, 2025
Apr 23, 2025
Apr 24, 2025
Jun 22, 2024
Apr 23, 2025
Apr 18, 2025
Apr 20, 2025
Apr 28, 2025
Jul 2, 2024
Apr 28, 2025

Tux

A Discord bot for the All Things Linux Discord server

Warning

This bot is still a work in progress and issues are expected. If you self-host our bot please join our support server here for announcements and support.

About

Tux is an all-in-one Discord bot originally designed 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.

Tech Stack

  • Python 3.13+ alongside the discord.py library
  • Poetry for dependency management
  • Docker and Docker Compose for optional containerized environments
  • Strict typing with pyright and type hints
  • Type safe ORM using prisma
  • Linting and formatting via ruff
  • Custom CLI via click and poetry scripts
  • Rich logging with loguru
  • Exception handling with sentry-sdk
  • Request handling with httpx
  • Custom dynamic environment management with python-dotenv

Bot Features

  • Asynchronous codebase
  • Hybrid command system with both slash commands and traditional commands
  • Automatic cog loading system
  • Hot-reloading for local development changes
  • Branded embeds and messages
  • Robust error handling
  • Activity rotation
  • Custom help command
  • Configuration system (config/settings.yml.example)
  • Dynamic role-based (access level) permission system
  • Basic extensions system (see extensions)

Installation and Development

Prerequisites

Setup & Workflow

  1. Clone the repository:

    git clone https://github.com/allthingslinux/tux && cd tux
  2. Follow the Developer Guide:

    For detailed instructions on setting up:

    • your environment (local or Docker)
    • installing dependencies
    • configuring .env and settings.yml
    • managing the database
    • running the bot
    • using hot-reloading
    • linting/formatting
    • understanding the tux CLI commands

    Please refer to the DEVELOPER.md guide for more information

License

This project is licensed under the GNU General Public License v3.0.

See LICENSE for details.

Metrics

Made with Repobeats.

Metrics

Contributors

Made with contrib.rocks.

Contributors