Port leek's ;mock command
This commit is contained in:
parent
0f78c35c18
commit
2499f6bb40
|
@ -1,5 +1,3 @@
|
||||||
// TODO: port leek @karx
|
|
||||||
|
|
||||||
macro_rules! hashmap {
|
macro_rules! hashmap {
|
||||||
($( $key: expr => $val: expr ),*) => {{
|
($( $key: expr => $val: expr ),*) => {{
|
||||||
let mut map = ::std::collections::HashMap::new();
|
let mut map = ::std::collections::HashMap::new();
|
||||||
|
@ -8,21 +6,20 @@ macro_rules! hashmap {
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
// macro_rules! mock {
|
|
||||||
// ($target:expr) => {{
|
|
||||||
// let mut builder = String::from("");
|
|
||||||
|
|
||||||
// for char in $target.chars() {
|
pub fn mock(target: &str) -> String {
|
||||||
// if rand::random() {
|
let mut builder = String::with_capacity(target.len());
|
||||||
// builder.push_str(&char.to_uppercase().to_string());
|
|
||||||
// } else {
|
|
||||||
// builder.push_str(&char.to_lowercase().to_string());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// builder
|
for char in target.chars() {
|
||||||
// }}
|
if rand::random() {
|
||||||
// }
|
builder.push_str(&char.to_uppercase().to_string());
|
||||||
|
} else {
|
||||||
|
builder.push_str(&char.to_lowercase().to_string());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
builder
|
||||||
|
}
|
||||||
|
|
||||||
pub fn leetify(target: &str) -> String {
|
pub fn leetify(target: &str) -> String {
|
||||||
let letters = hashmap! {
|
let letters = hashmap! {
|
||||||
|
|
15
src/main.rs
15
src/main.rs
|
@ -165,6 +165,21 @@ async fn handle_privmsg(
|
||||||
.unwrap_or("Invalid category. Valid categories: https://waifu.pics/docs");
|
.unwrap_or("Invalid category. Valid categories: https://waifu.pics/docs");
|
||||||
state.client.privmsg(&channel, response).await?;
|
state.client.privmsg(&channel, response).await?;
|
||||||
}
|
}
|
||||||
|
"mock" => {
|
||||||
|
let user = match remainder {
|
||||||
|
Some(u) => match u {
|
||||||
|
"" => &nick,
|
||||||
|
_ => u
|
||||||
|
},
|
||||||
|
None => &nick
|
||||||
|
}.trim();
|
||||||
|
if let Some(prev_msg) = state.last_msgs.get(user) {
|
||||||
|
let resp = bots::leek::mock(prev_msg);
|
||||||
|
state.client.privmsg(&channel, &resp).await?;
|
||||||
|
} else {
|
||||||
|
state.client.privmsg(&channel, "No previous messages to mock!").await?;
|
||||||
|
}
|
||||||
|
}
|
||||||
"leet" => {
|
"leet" => {
|
||||||
let user = match remainder {
|
let user = match remainder {
|
||||||
Some(u) => match u {
|
Some(u) => match u {
|
||||||
|
|
Loading…
Reference in a new issue