Coder Social home page Coder Social logo

allthingslinux / tux Goto Github PK

View Code? Open in Web Editor NEW
20.0 5.0 7.0 4.5 MB

Tux is an all in one bot for the All Things Linux discord server.

Home Page: https://discord.gg/linux

License: GNU General Public License v3.0

Python 99.55% Dockerfile 0.26% Just 0.19%
discord discord-py loguru poetry prisma python ruff supabase asyncio httpx

tux's Introduction

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.

tux's People

Contributors

dependabot[bot] avatar electron271 avatar exploitdemon avatar fluxc0 avatar haie-grain avatar hikarineee avatar jwe66 avatar kzndotsh avatar pre-commit-ci[bot] avatar renovate[bot] avatar scottc943 avatar soupyfx avatar tessjj avatar userbyte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tux's Issues

Faulty TuxLogger module tracing

The TuxLogger module tracing is only logging tux_utils.tux_logger bot.log. This issue exists because of the way the TuxLogger is structured. A slight restructure is required.

Emojis

With regards to creating cohesive branding, custom emojis would look great to use across all embeds in relation to the state (e.g. success, warning, error) as well as various utility emojis (e.g. arrow, plus symbol, magnify glass).

Creating emojis similar to the badges aesthetic would seem to make the most sense as well.

Here is a list of emojis that could be used in terms of their priority:

High:

  • success
  • warning
  • error/X
  • info
  • log
  • plus/minus

Medium:

  • url/link
  • bullet point
  • arrows
  • unknown/question mark
  • message
  • thread
  • pin

Low:

  • map
  • cog wheel/settings
  • command
  • magnify glass
  • thumbs up/down

More to be added as needed

Badges

longer project to implement badges

  • badge designs
  • message count in db (will be exported from statsbot)
  • voice hour tracking (will be exported from statsbot)
  • profile command for showing badges (maybe a rank command and leveling while we are at it)
  • improve db to support badges
  • command to give people badges

badge designs:
upscaled from 16x16 to 64x64, exported to sheet, then sliced into individual badges

badges-Sheet-labelled

top50-text 500h-voice former-staff helpful lucky tux-dev day1-joiner 50k-messages 10k-messages 100k-messages

[X]k messages, 500+ hours voice, top 50 text, joined day 1, and lucky will be automated

info about lucky

every day a random user is chosen and their amount of messages will be multiplied by 0.001 (maxing out at 100 for 100k messages)

the value that is calculated is the percent chance of them getting that badge, if they get it they will be dmed and if they dont (maybe?) they will also

Server guide/quick links

Running a /guide command should provide a helpful command with some resources for the server such as

  • support info channel
  • color roles channel
  • suggestions channel
  • discord roles/channels page
  • how to make a ticket
  • see other channels featured in /srv

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

docker-compose
docker-compose.yml
dockerfile
Dockerfile
  • python 3.12-slim
github-actions
.github/workflows/linting.yml
  • actions/checkout v4
  • actions/setup-python v5
  • stefanzweifel/git-auto-commit-action v5
  • ubuntu 22.04
.github/workflows/todo.yml
  • actions/checkout v4
pep621
pyproject.toml
poetry
pyproject.toml
  • aioconsole ^0.7.0
  • aiopath ^0.7.7
  • asynctempfile ^0.5.0
  • cairosvg ^2.7.1
  • dateparser ^1.2.0
  • discord-py ^2.4.0
  • githubkit ^0.11.3
  • httpx ^0.27.0
  • loguru ^0.7.2
  • mypy ^1.9.0
  • pillow ^10.3.0
  • pre-commit ^3.7.0
  • prisma ^0.13.1
  • psutil ^6.0.0
  • pynacl ^1.5.0
  • pyright ^1.1.358
  • python >=3.12,<4
  • python-dotenv ^1.0.1
  • rsa ^4.9
  • ruff ^0.4.0
  • sentry-sdk ^2.0.0
  • vulture ^2.11

  • Check this box to trigger a request for Renovate to run again on this repository

Jail a user

Strip all roles except the jail role.

This will require the db to implement fully

Customizable Message History

make it to where you can run a command to set a message history and have it be written to a file or something.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.