update README, security, and user friendliness

This commit is contained in:
2025-02-24 19:39:40 +01:00
parent f17f6e0c16
commit 8939334f84
3 changed files with 29 additions and 9 deletions
+11
View File
@@ -24,6 +24,17 @@ An automation tool for Byte Dice. It's both a Discord and Reddit bot in one prog
* typing * typing
* websockets * websockets
**Environment variables:**
| **Name** | **Description** |
| --- | --- |
| `ASSISTANT_TOKEN` | The Discord bot token. |
| `ASSISTANT_TOKEN_TEST` | (Optional) A testing Discord bot token. This is only needed when the program is ran 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. |
| `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. |
You can install Python modules by running `$ pip install {module}` or `$ python -m pip install {module}` in a terminal. You can install Python modules by running `$ pip install {module}` or `$ python -m pip install {module}` in a terminal.
**How to run:** **How to run:**
+4 -2
View File
@@ -177,8 +177,10 @@ pub async fn http_edit_msg(
pub async fn send_dm(msg: String, args: Args) { pub async fn send_dm(msg: String, args: Args) {
let uid = env::var("ASSISTANT_DM_USER").expect("Missing ASSISTANT_DM_USER env var!").parse::<u64>().unwrap(); let uid = env::var("ASSISTANT_DM_USER");
let user = UserId::new(uid); if uid.is_err() { return; }
let user = UserId::new(uid.unwrap().parse::<u64>().unwrap());
let token: String; let token: String;
if !args.test { if !args.test {
+14 -7
View File
@@ -6,9 +6,16 @@ from macros import *
class Bot: class Bot:
args: dict = {"NO_RUST": True, "dev": True, "py": True, "port": 2920} args: dict = {"NO_RUST": True, "dev": True, "py": True, "port": 2920}
r_id: str = os.environ.get("ASSISTANT_R_ID")
secret: str = os.environ.get("ASSISTANT_R_TOKEN")
username: str = os.environ.get("ASSISTANT_R_NAME")
password: str = os.environ.get("ASSISTANT_R_PASS") password: str = os.environ.get("ASSISTANT_R_PASS")
secret: str = os.environ.get("ASSISTANT_R_TOKEN")
useragent: str =\
f"{username} by u/RandomPersonDotExe aka u/Byte_Dice"\
if r_id == "YmZjr4zLr2qtHdpQXtj0sBOOdJzrXQ"\
else f"{username} (original program by u/RandomPersonDotExe aka u/Byte_Dice)"
if password is None: if password is None:
py_error("Environment variable \"ASSISTANT_R_PASS\" is null!") py_error("Environment variable \"ASSISTANT_R_PASS\" is null!")
@@ -17,11 +24,11 @@ class Bot:
def __init__(self): def __init__(self):
self.r: praw.Reddit = praw.Reddit( self.r: praw.Reddit = praw.Reddit(
client_id="iCSRWS6PMlTLwmylCJRYmA", client_id = self.r_id,
client_secret=self.secret, client_secret = self.secret,
username="ByteDiceAssistant", username = self.username,
password=self.password, password = self.password,
user_agent="Byte Dice Assistant by u/RandomPersonDotExe aka u/Byte_Dice" user_agent = self.useragent
) )
self.sr = None self.sr = None
self.data_f: TextIOWrapper = None self.data_f: TextIOWrapper = None