tangled
alpha
login
or
join now
isabelroses.com
/
blahaj
1
fork
atom
silly goober bot
1
fork
atom
overview
issues
pulls
pipelines
@ blahaj is this true?
isabelroses.com
8 months ago
e7a2bf9e
5afbed11
+36
2 changed files
expand all
collapse all
unified
split
src
event_handler
blahaj_is_this_true.rs
mod.rs
+34
src/event_handler/blahaj_is_this_true.rs
···
1
1
+
use color_eyre::eyre::Result;
2
2
+
use poise::serenity_prelude::{Context, FullEvent};
3
3
+
use rand::Rng;
4
4
+
use regex::Regex;
5
5
+
6
6
+
use crate::types::Data;
7
7
+
8
8
+
const REPLIES: &[&str] = &[
9
9
+
"Yes, absolutely!",
10
10
+
"No, that's not true.",
11
11
+
"Maybe, it depends on the context.",
12
12
+
"Definitely not!",
13
13
+
"Of course, it's true!",
14
14
+
"I wouldn't bet on it.",
15
15
+
"It's a possibility.",
16
16
+
"Only if you believe it.",
17
17
+
];
18
18
+
19
19
+
pub async fn handle(ctx: &Context, event: &FullEvent, _data: &Data) -> Result<()> {
20
20
+
if let FullEvent::Message { new_message } = event {
21
21
+
if new_message.mentions_user(&ctx.cache.current_user()) {
22
22
+
let regex = Regex::new(r"is this true(\?)?").unwrap();
23
23
+
if regex.is_match(&new_message.content) {
24
24
+
let select = rand::rng().random_range(0..=REPLIES.len());
25
25
+
let response = REPLIES[select];
26
26
+
27
27
+
// Reply with the response
28
28
+
let _ = new_message.reply(&ctx.http, response).await;
29
29
+
}
30
30
+
}
31
31
+
}
32
32
+
33
33
+
Ok(())
34
34
+
}
+2
src/event_handler/mod.rs
···
1
1
use color_eyre::eyre::Result;
2
2
use poise::serenity_prelude::{Context, FullEvent};
3
3
4
4
+
mod blahaj_is_this_true;
4
5
mod code_expantion;
5
6
mod kitten;
6
7
mod replace_link;
···
16
17
code_expantion::handle(ctx, event, data).await?;
17
18
kitten::handle(ctx, event, data).await?;
18
19
replace_link::handle(ctx, event, data).await?;
20
20
+
blahaj_is_this_true::handle(ctx, event, data).await?;
19
21
20
22
Ok(())
21
23
}