https://github.com/kyza/discord_selfbot
A personal-use Discord app created to replicate the useful functionality of ye selfbots of olde with official bot APIs.
https://github.com/kyza/discord_selfbot
Last synced: 11 months ago
JSON representation
A personal-use Discord app created to replicate the useful functionality of ye selfbots of olde with official bot APIs.
- Host: GitHub
- URL: https://github.com/kyza/discord_selfbot
- Owner: Kyza
- License: mit
- Created: 2024-10-03T04:06:45.000Z (over 1 year ago)
- Default Branch: trunk
- Last Pushed: 2025-05-05T16:49:44.000Z (about 1 year ago)
- Last Synced: 2025-05-05T17:59:38.166Z (about 1 year ago)
- Language: Rust
- Homepage:
- Size: 1.87 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# discord_selfbot
A personal-use Discord app created to replicate the useful functionality of ye selfbots of olde with official bot APIs.
## Installation
### Requirements
- Git
- Docker
### Setup
```sh
git clone https://github.com/Kyza/discord_selfbot.git
cd discord_selfbot
```
Create a copy of the `example.config.ron` file and rename it to `config.ron`. Then edit it to your situation.
You'll need to create a bot on the [Discord developer portal](https://discord.com/developers/applications) and get the token and application ID for it.
Make sure you enable the `User Install` installation context. It's also recommended that you disable `Public Bot` as well.
Use the Discord-provided installation link to install the bot on your account.
```sh
docker compose up
```
This might take a while the first time you run it.
## Notes
By default the bot should send messages as non-ephemeral, but if you want to make it ephemeral you can use the `ephemeral` argument.
As long as you don't change any files you can use `update_restart.cmd` to pull the latest code and restart it.
## Commands
- [x] `/age` - Sends the timestamp of the ID or user's creation date.
- [x] `/bible` - Checks how many words are in the Bible.
- [x] Context menu supported.
- [ ] `/cobalt` - Downloads media from a URL using the Cobalt API and sends it.
- Disabled until Cobalt gets an official API.
- [x] `/deepl` - DeepL API command group.
- [x] `/deepl translate text` - Translates text using the DeepL API.
- [x] Context menu supported.
- [x] `/deepl translate document` - Translates a document using the DeepL API.
- [x] `/deepl usage` - Shows the DeepL API usage.
- [x] `/help` - Shows the help menu.
- [ ] `/embed` - Creates and sends an embed from either fields or multiple from a RON representation.
- https://github.com/ron-rs/ron
- https://docs.rs/poise/latest/poise/serenity_prelude/struct.Embed.html
- [x] `/escape` - Escapes basic markdown characters.
- [x] `/favoritize` - Converts any image type into a 2 frame WebP so that it can be added to your favorited GIFs list.
- [x] Context menu supported.
- [x] `/ffmpeg` - Runs a basic FFmpeg command on uploaded media.
- [x] `/fix` - Makes social media links embed properly.
- Works for X, Bluesky, TikTok, Instagram, and Reddit.
- [x] `/flip` - Flips a nickel using a true random number generator.
- [x] `/github` - Sends a formatted link to a GitHub profile or repository.
- [x] `/jxl` - Converts an image to JXL.
- [x] Context menu supported.
- [x] `/memory` - Shows the bot's memory usage.
- [x] `/now_playing` - Shows what you're currently listening to from the ListenBrainz API.
- [x] YouTube song downloading supported.
- [x] `/ocr` - Runs OCR on an image.
- This sucks currently. Someone please find me a decent API or library.
- [x] `/roll` - Rolls dice notation.
- Uses a [custom unlimited version of the `caith` crate](https://github.com/Kyza/caith/commit/a05c6a3954ab3f42d4ce08d8de18fe5a2fae18b6).
- [x] `/screenshot` - Screenshots a website.
- [x] `/snowstamp` - Lets you easily create a timestamp from an ID or a datetime.
- [x] `/song_info` - Shows song information from a given link.
- [x] Context menu supported.
- [x] YouTube song downloading supported.
- [x] `/source` - Sends the link to the bot's source code.
- [x] `/unicode` - Converts text to and from Unicode.
- [x] `/uptime` - Tells you how long the bot has been up for.
- [x] `/wayback` - Generates an archive.org (Wayback Machine) URL for a given URL.
- [x] `/webp` - Converts an image to WebP.
- [x] Context menu supported.
- [x] `/wolfram` - Asks Wolfram Alpha a question.
- [ ] `/youtube` - [Experimental] Downloads and sends a YouTube video and sends it.
- Sometimes it works, sometimes it doesn't.