A Discord bot for control and decentralization of threads management

Overview


Threadripper-bot

A Discord bot for control and decentralization of threads management

About

Threadripper aims to serve some extra utilities to take better care of thread channels.
Discord lacks a lot in functionality for threads, so that's why I made this bot

Goals and TODOs

  • Actually get a VPS to host this bot ✓ (thanks to Github + DigitalOcean)
  • Implement thread owner system
    • Full thread control to owner (messages, members etc)
  • Mass thread actions (channel & guild)
    • Mass delete, archive, clean...
  • TMC management ✓

Concepts

Thread owner

A thread owner is a member that created a thread or unarchived it.
It can delete messages inside its own thread channel, remove members from it and do mass actions in his own thread.

TMC (Threadded media channel)

A TMC is an invented concept that describes a pictures/videos/etc channel that members are not allowed to chat.
A normal TMC will delete messages from everyone that doesn't include an attachment or the bot's prefix/mention in its message.
It will also automatically create a thread for each message that contains an attachment and set their owners accordingly.

Thread inheritance

Thread inheritance happens when an archived thread is unarchived by a server member.
The member that unarchived the thread will inherit it from its previous owner.
The old owner will be able to take its ownance back if it requests for it in less than 48h.
The original owner is always able to take the ownance back.

Help

Commands

Every command (except ping) has a -h, --help flag that can be used to gather information about the usage and options it has. The commands are built in a UNIX-like way, as if they were individual CLI programs. Here's a list of commands:

[General]
ping
prefix
help (wip)

[ThreadManagement]
set_media_channel (setmedia, smc...)
remove_media_channel (rmmedia, rmc...)

# More commands will be added on the future

Unusual Behaviour

You can always make an issue here to report this kind of behaviour.
If you do prefer, you can message me on Matrix or send me an email. Contact information is listed in my profile

Adding Threadripper to your server

You can add it to your server by clicking here.

Threadripper doesn't actually need administrator permissions, but it's better to have it on than losing your mind trying to fix permission issues. Since it's open source, why not? If you don't trust me, you can deploy your own Threadripper!

Contributing

Issues and Pull Requests are always welcome. I also do accept ideas in the Issues page

Nerdy curiosities

  • Rustbreak is included in the project, as a Client::data+Context::data file database manager, so when the bot turns off, it does save stuff
  • Clap is included as the command and arguments handler, this is why the commands' syntaxes are so similar to UNIX commands, I'm literaly using a crate that builds most of CLI apps in Rust
  • As you might expect, Threadripper's name comes from the AMD threadripper series, because I do like AMD processors and GPUs, since they play so nice on Linux
  • Serenity's documentation sucks.
  • cargo build generates a binary of size >150MB, cargo build --release's bin size is 9MB and make release reduces the binary size to <2MB
You might also like...
🦴🤖 // A Discord bot about collecting all the Borpa

🦴 🤖 Borpa Bot Borpa Bot is a Discord bot about collecting all the Borpa possible. If you dont know what a Borpa is you can find it here Crate Descri

A scriptable discord bot (WIP)

Status This project is currently a VERY EARLY WORK IN PROGRESS. Contact me on discord for more details: Jonas747#0001 (105487308693757952) BotLoader (

The best discord bot to annoy @a3mat
The best discord bot to annoy @a3mat

A3mat v pomoyke The best discord bot to annoy @a3mat Usage: This command moves pinged users n times: move number [users...] This command moves ping

A Discord bot to send updates on queries in tori.fi

torimies-rs How the bot works? The bot works by making requests to the undocumented (and very bad) tori.fi api endpoint. The users can add and remove

A small in-house bot of the TTC Discord Server

Welcome to The Terminal cafe Support Bot Repository Hello, hope you are having a nice day. This is the official repository for The Terminal Cafe Suppo

 A Discord bot to send updates on queries in tori.fi
A Discord bot to send updates on queries in tori.fi

torimies-rs How the bot works? The bot works by making requests to the undocumented (and very bad) tori.fi api endpoint. The users can add and remove

A discord bot that safely executes whatever rust you throw at it. Remote code execution as a service
A discord bot that safely executes whatever rust you throw at it. Remote code execution as a service

RustBot Bot is still under development and not ready for production use RustBot is a discord bot that executes whatever rust code you throw at it. In

An experimental Discord bot using Serenity.

VoidBot An experimental Discord bot using Serenity. Environment Variables Can be set with a .env file. DISCORD_TOKEN: The token for your bot. (require

Yet another multi-purpose discord bot

virus yet another multi-purpose discord bot

Comments
  • Unnecessary 'new()'

    Unnecessary 'new()'

    You can completely remove this block of code as this behavior can be replicated with Default::default() https://github.com/S0raWasTaken/Threadripper-bot/blob/master/src/data_structs.rs#L20-L29

    fix 
    opened by arrudagates 2
  • Recognize links to media

    Recognize links to media

    I'm using the bot in a channel for memes and it helps a lot for organization, because before users were talking in the chat and the memes got lost, now with the bot everything is more organized. But this bot so far only recognizes directly uploaded media and not links to media such as URLs showing an image or video.

    It would be very interesting if it had an option to also recognize links to media (.mp4", ".jpg", etc).

    And I'm grateful for the project, I know that maintaining a project is a lot of work and people who are not aware of this work may not give much value to what is being done "behind the scenes", in addition to being free and open source. I'm grateful for that.

    enhancement 
    opened by mblithium 1
Owner
S0ra
An 18yo Rust Developer.
S0ra
A rust(serenity) based discord bot for the hacksquad discord server

A Discord Bot for Hacksquad How to Deploy? Requirements Docker Docker Compose Steps To Run Copy the docker-compose.yml and .env.example files to your

HackSquad 5 Jan 4, 2023
Rewrite of the Discord Bot used for Managing the Infinity Bot List Servers.

Arcadia Rewrite of the Discord Bot used for Managing the Infinity Bot List Servers. Contributing Always run fmt.sh before making a Pull Request! MacOS

InfinityBotList 3 Dec 15, 2022
A thread pool for running multiple tasks on a configurable group of threads.

Threadfin A thread pool for running multiple tasks on a configurable group of threads. Extra features: Dynamic pool size based on load Support for asy

Stephen M. Coakley 46 Dec 5, 2022
Tiny crate that allows to wait for a stop signal across multiple threads

Tiny crate that allows to wait for a stop signal across multiple threads. Helpful mostly in server applications that run indefinitely and need a signal for graceful shutdowns.

Dominik Nakamura 5 Dec 16, 2022
This is a Discord bot written in Rust to translate to and from the Bottom Encoding Standard using bottom-rs and Serenity.

bottom-bot This is a Discord bot written in Rust to translate to and from the Bottom Encoding Standard using bottom-rs and Serenity. Ever had this pro

Bottom Software Foundation 11 Dec 10, 2022
A Discord bot for lichess and Rosen related things

liro Liro is a Discord bot that follows in the footsteps of Lichess-discord-bot, without necessarily aiming to replace it. The main pain point that th

Sebastian Lauwers 5 Feb 16, 2022
🦜 A hassle-free, highly performant, host it yourself Discord music bot built with Serenity in Rust. Powered by youtube-dl and Genius.

?? A hassle-free, highly performant and fast evolving Discord music bot built with Serenity in Rust. Deployment Usage Just create a bot account, copy

Miguel Mano 82 Dec 14, 2022
A simple bot for discord.

Rusky Um simples bot para o discord! ?? Executando ⚠️ Antes de tudo você precisa do Rust Instalado você pode instalar clicando aqui Preparando Primeir

Rusky 3 Aug 12, 2022
Hi I'm Sophy, a discord bot in devlopment, soon I'll be available to help everyone (❁´◡`❁)

Sophy Bot Hi I'm Sophy, a discord bot in devlopment, soon I'll be available to help everyone (❁´◡`❁) Contribution Do you like me and want to help me?

Far Dragi 0 May 30, 2022
A Discord bot for sending GeoGuessr challenge links that uses the GeoGuessr API written in rust.

GeoGuessr-bot-rs This is a simple implementation of a discord bot that send GeoGuessr-challenge links on demand. Features: Slash-commands Lightning-fa

Luukas Pörtfors 6 Nov 18, 2022