9a87342dd2b12d98b79bcdd4696469973837cae6
ByteDiceAssistant
An automation tool for Byte Dice. It's both a Discord and Reddit bot in one program.
Caution
This tool is not intended for public use outside of the official Byte Dice Assistant bots. Expect issues if you host this yourself.
Open-source - Copyright
ByteDiceAssistant © 2025 by Byte Dice is licensed under CC BY-NC-SA 4.0.
You can learn more about copyright by reading the full license.
How to run
Dependencies:
This program uses Rust (v1.82.0) and Python (v3.11.4), you can likely use other versions if they are compatible. This program also uses these Python modules:
- asyncio
- asyncpraw
- asyncprawcore
- emoji
- io
- json
- os
- sys
- threading
- time
- typing
- websockets
You can install Python modules by running $ pip install {module} or $ python -m pip install {module} in a terminal.
Environment variables:
| Name | Description |
|---|---|
ASSISTANT_TOKEN |
The Discord bot token. (Create a Discord bot here!) |
ASSISTANT_TOKEN_TEST |
(Optional) A testing Discord bot token. This is only needed when the program is run with -t or --test. |
ASSISTANT_DM_USER |
(Optional) Your Discord user ID. The assistant will DM this user when certain errors occur. |
ASSISTANT_R_ID |
The id for the Reddit bot/account. (Create a Reddit bot here!) |
ASSISTANT_R_TOKEN |
The token for the Reddit bot/account. |
ASSISTANT_R_NAME |
The username of the Reddit bot/account. |
ASSISTANT_R_PASS |
The password for the Reddit bot/account. |
ASSISTANT_OWNERS |
(OPTIONAL) A list of Discord user IDs that "own" the bot. Separate each ID with a single comma and no spaces. |
Required permissions:
These are automatically set if you use the official invite link.
- Send Messages
- Read Message History
- View Channels
- Embed Links
How to run:
- Download the code (and extract it if needed).
- Open a terminal.
- Set the environment variables.
-
On Windows:
- Run
$ setx VARIABLE_NAME "value"in a terminal.
- Run
-
On Unix (Linux / Mac):
- Run
$ sudo nano /etc/environmentor$ sudo vim /etc/environmentin the terminal. - press
i(only if you used VIM). - write
VARIABLE_NAME="value"+ a new line for every variable. - if nano:
ctrl + O(and press enter) thenctrl + X. - if VIM: press
escthen write:wq(and press enter).
- Run
-
- Restart the terminal if you added/changed the environment variables.
- Run
$ cd path/to/extracted/folder. - Run
$ cargo run. You can view a list of options by running$ cargo run -- --helpor$ cargo run -- -h.- If you only want to run the Python code, you can either run
$ cargo run -- --py, or$ python ./src/python/main.py. The second option is recommended for better error output.
- If you only want to run the Python code, you can either run
Description
An automation tool for Byte Dice. It's both a Discord and Reddit bot in one program.
automationbytedicediscorddiscord-botdiscord-rustprawpraw-redditredditreddit-botreddit-scrapersuper-epic-cool-awesome-stuff
Readme
382 KiB
Languages
Rust
80.2%
Python
19.8%