minor regex fixes

This commit is contained in:
2021-08-04 21:19:47 +05:30
parent 500f12ad97
commit 156871bac9
3 changed files with 34 additions and 15 deletions

View File

@@ -8,12 +8,15 @@ use std::{collections::HashMap, env};
use tokio_postgres::NoTls;
#[command]
pub async fn kitna(ctx: &Context, msg: &Message, mut args: Args) -> CommandResult {
let query: String = args.single::<String>()?;
pub async fn kitna(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
let query: String = args.raw().collect::<Vec<&str>>().join(" ");
if query == "" {
msg.reply(ctx, "bruh kitna kya?");
}
let words: HashMap<&str, Regex> = [
("nword", Regex::new(r"(?i)(nig+(er|a)|nig{2,})").unwrap()),
("acha", Regex::new(r"(?i)a(c??h??|6??)a+").unwrap()),
("sus", Regex::new(r"(?i)sus|(?i)amon?g\s?us").unwrap()),
("acha", Regex::new(r"(?i)a((c+?h+?|6+?)a+").unwrap()),
("sus", Regex::new(r"(?i)sus|(?i)amon??g\s??us").unwrap()),
]
.iter()
.cloned()
@@ -38,7 +41,8 @@ pub async fn kitna(ctx: &Context, msg: &Message, mut args: Args) -> CommandResul
.await
.expect("cant select the count");
let count: i32 = query_result.get("count");
msg.reply(ctx, format!("{} count for you: {}", name, count)).await?;
msg.reply(ctx, format!("{} count for you: {}", name, count))
.await?;
break;
}
}

View File

@@ -5,8 +5,8 @@ use serenity::{
prelude::*,
};
use std::time::Duration;
#[command]
pub async fn challenge(ctx: &Context, msg: &Message) -> CommandResult {
async fn chall(ctx: &Context, msg: &Message) -> CommandResult {
if msg.mentions.is_empty() {
msg.reply(ctx, "mention to daal chutiye").await?;
return Ok(());
@@ -35,7 +35,7 @@ pub async fn challenge(ctx: &Context, msg: &Message) -> CommandResult {
} else if ["no", "nahi", "n"].contains(&answer.content.to_lowercase().as_str()) {
msg.reply(ctx, "Challenge not accepted").await?;
challenge.delete(&ctx.http).await?;
return Ok(());
return 1;
} else {
answer
.reply(
@@ -43,11 +43,17 @@ pub async fn challenge(ctx: &Context, msg: &Message) -> CommandResult {
"Please only answer in no/nahi/n or yes/ha/y\ndeleting challenge ...",
)
.await?;
return 1;
}
} else {
msg.reply(ctx, "Challenge not accepted in 60s").await?;
return Ok(());
return 1;
}
return 0;
}
#[command]
pub async fn challenge(ctx: &Context, msg: &Message) -> CommandResult {
let won = random();
let winner = if won {
msg.mentions[0].mention()