made strings table name configurable
This commit is contained in:
parent
caf581083e
commit
03e5578dcb
@ -5,7 +5,7 @@ authors = ["jellywx <judesouthworth@pm.me>"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
serenity = { version = "0.9.0-rc.2", features = ["collector"] }
|
||||
serenity = { version = "0.9.0-rc.2", features = ["collector", "rustls_backend"] }
|
||||
dotenv = "0.15"
|
||||
tokio = { version = "0.2.19", features = ["process"] }
|
||||
reqwest = "0.10.6"
|
||||
|
@ -45,4 +45,6 @@ lazy_static! {
|
||||
env::var("LOCAL_LANGUAGE").unwrap_or_else(|_| "EN".to_string());
|
||||
pub static ref PYTHON_LOCATION: String =
|
||||
env::var("PYTHON_LOCATION").unwrap_or_else(|_| "venv/bin/python3".to_string());
|
||||
pub static ref STRINGS_TABLE: String =
|
||||
env::var("STRINGS_TABLE").unwrap_or_else(|_| "strings".to_string());
|
||||
}
|
||||
|
@ -5,12 +5,12 @@ use serenity::{
|
||||
|
||||
use std::env;
|
||||
|
||||
use sqlx::MySqlPool;
|
||||
use sqlx::{Cursor, MySqlPool, Row};
|
||||
|
||||
use chrono::NaiveDateTime;
|
||||
use chrono_tz::Tz;
|
||||
|
||||
use crate::consts::{LOCAL_LANGUAGE, PREFIX};
|
||||
use crate::consts::{LOCAL_LANGUAGE, PREFIX, STRINGS_TABLE};
|
||||
|
||||
pub struct GuildData {
|
||||
pub id: u32,
|
||||
@ -249,16 +249,27 @@ UPDATE users SET name = ?, language = ?, timezone = ? WHERE id = ?
|
||||
}
|
||||
|
||||
pub async fn response(&self, pool: &MySqlPool, name: &str) -> String {
|
||||
let row = sqlx::query!(
|
||||
let query_str = &format!(
|
||||
"
|
||||
SELECT value FROM strings WHERE (language = ? OR language = ?) AND name = ? ORDER BY language = ?
|
||||
", self.language, *LOCAL_LANGUAGE, name, *LOCAL_LANGUAGE)
|
||||
.fetch_one(pool)
|
||||
.await
|
||||
.unwrap_or_else(|_| panic!("No string with that name: {}", name));
|
||||
SELECT value FROM {} WHERE (language = ? OR language = ?) AND name = ? ORDER BY language = ?
|
||||
",
|
||||
*STRINGS_TABLE
|
||||
);
|
||||
|
||||
row.value
|
||||
.unwrap_or_else(|| panic!("Null string with that name: {}", name))
|
||||
let mut query = sqlx::query(&query_str)
|
||||
.bind(&self.language)
|
||||
.bind(&*LOCAL_LANGUAGE)
|
||||
.bind(name)
|
||||
.bind(&*LOCAL_LANGUAGE)
|
||||
.fetch(pool);
|
||||
|
||||
let row = query
|
||||
.next()
|
||||
.await
|
||||
.unwrap_or_else(|e| panic!("Database error: {:?}", e))
|
||||
.unwrap_or_else(|| panic!("No string with that name: {}", name));
|
||||
|
||||
row.get::<String, &str>("value").clone()
|
||||
}
|
||||
|
||||
pub fn timezone(&self) -> Tz {
|
||||
|
Loading…
Reference in New Issue
Block a user