mirror of
https://github.com/house-of-vanity/desubot.git
synced 2025-07-06 20:24:08 +00:00
Add stop-wards logic
This commit is contained in:
@ -328,7 +328,7 @@ impl Execute for Markov {
|
||||
let mut sentences = chain.generate();
|
||||
let mut msg = String::new();
|
||||
for _ in 1..rand::thread_rng().gen_range(2, 10) {
|
||||
msg = format!("{} {}", msg, sentences.pop().unwrap());
|
||||
msg = format!("{} {}", msg, sentences.pop().unwrap_or(" ".into()));
|
||||
}
|
||||
match api
|
||||
.send(message.text_reply(msg.trim()).parse_mode(ParseMode::Html))
|
||||
|
21
src/db.rs
21
src/db.rs
@ -34,6 +34,25 @@ pub(crate) fn update_scheme() -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub(crate) fn load_stopwords() -> Result<()> {
|
||||
let conn = open()?;
|
||||
for table in include_str!("../assets/stop-words.txt").split('\n').into_iter() {
|
||||
let word = table.trim();
|
||||
if word != "" {
|
||||
let mut stmt = conn.prepare_cached(
|
||||
"
|
||||
INSERT OR IGNORE INTO
|
||||
stop_words('word')
|
||||
VALUES (:word)
|
||||
",
|
||||
)?.insert(params![word]);
|
||||
//let mut rows = stmt.word(named_params! {":conf_id": conf_id})?;
|
||||
}
|
||||
}
|
||||
info!("Stop words updated.");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub(crate) fn get_user(id: telegram_bot::UserId) -> Result<telegram_bot::User, errors::Error> {
|
||||
let conn = open()?;
|
||||
let mut stmt = conn.prepare_cached(
|
||||
@ -447,7 +466,7 @@ pub(crate) async fn add_sentence(
|
||||
Err(e) => panic!("SQLITE3 Error: Relations failed: {:?}", e),
|
||||
}
|
||||
}
|
||||
Err(_) => debug!("Word {} is in stop list.", &word.lex[0].lex),
|
||||
Err(_) => debug!("Word {} is in a stop list.", &word.lex[0].lex),
|
||||
}
|
||||
}
|
||||
conn.execute("END TRANSACTION", params![]);
|
||||
|
@ -28,6 +28,10 @@ async fn main() -> Result<(), errors::Error> {
|
||||
Ok(_) => {}
|
||||
Err(e) => panic!("Database error: {:?}", e),
|
||||
}
|
||||
match db::load_stopwords() {
|
||||
Ok(_) => {}
|
||||
Err(e) => panic!("Database error: {:?}", e),
|
||||
}
|
||||
let token = match env::var("TELEGRAM_BOT_TOKEN") {
|
||||
Ok(token) => token,
|
||||
Err(_) => {
|
||||
|
Reference in New Issue
Block a user