botcommands recognized in replies
This commit is contained in:
parent
4613d69e3f
commit
ff6046bb1f
1 changed files with 90 additions and 5 deletions
|
@ -171,6 +171,7 @@ impl BotInstance {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
ServerMessage::Privmsg(msg) => {
|
ServerMessage::Privmsg(msg) => {
|
||||||
|
|
||||||
botlog::debug(
|
botlog::debug(
|
||||||
format!(
|
format!(
|
||||||
"[Twitch Chat > {}] > {}: {}",
|
"[Twitch Chat > {}] > {}: {}",
|
||||||
|
@ -181,6 +182,17 @@ impl BotInstance {
|
||||||
Some(&msg),
|
Some(&msg),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
botlog::trace(
|
||||||
|
format!(
|
||||||
|
"[TRACE][Twitch Chat > {}] > {}: {:?}",
|
||||||
|
msg.channel_login, msg.sender.name, msg
|
||||||
|
)
|
||||||
|
.as_str(),
|
||||||
|
Some("BotInstance > runner()".to_string()),
|
||||||
|
Some(&msg),
|
||||||
|
);
|
||||||
|
|
||||||
BotInstance::listener_main_prvmsg(Arc::clone(&bot), &msg).await;
|
BotInstance::listener_main_prvmsg(Arc::clone(&bot), &msg).await;
|
||||||
}
|
}
|
||||||
ServerMessage::Whisper(msg) => {
|
ServerMessage::Whisper(msg) => {
|
||||||
|
@ -243,6 +255,59 @@ impl BotInstance {
|
||||||
Some(msg),
|
Some(msg),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// /*
|
||||||
|
// [ ] Here, msg is taken, and message_text is split so we can pull the first argument
|
||||||
|
// */
|
||||||
|
|
||||||
|
// let inpt = msg
|
||||||
|
// .message_text
|
||||||
|
// .split(' ')
|
||||||
|
// .next()
|
||||||
|
// .expect("ERROR during BotCommand");
|
||||||
|
|
||||||
|
/*
|
||||||
|
[ ] What we should do instead is :
|
||||||
|
1. Check if the message is related to a Reply (so we know how many arguments we should skip)
|
||||||
|
2. If a reply, skip the first argument
|
||||||
|
*/
|
||||||
|
|
||||||
|
let mut msgiter= msg
|
||||||
|
.message_text
|
||||||
|
.split(' ');
|
||||||
|
|
||||||
|
let arg1 = msgiter.next();
|
||||||
|
let arg2 = msgiter.next();
|
||||||
|
|
||||||
|
let reply = if let Some(replyidout) = msg.source.tags.0.get("reply-thread-parent-msg-id") {
|
||||||
|
if let Some(replyid) = replyidout {
|
||||||
|
// println!("Detected Reply : {}",replyid);
|
||||||
|
Some(replyid)
|
||||||
|
} else { None }
|
||||||
|
} else { None }
|
||||||
|
;
|
||||||
|
|
||||||
|
// let inpt = match reply {
|
||||||
|
// None => arg1, // Regular message, use the first arg as the command
|
||||||
|
// Some(_) => arg2, // A reply message, use the 2nd arg as the command
|
||||||
|
// };
|
||||||
|
|
||||||
|
|
||||||
|
let inpt = match reply {
|
||||||
|
None => { // Regular message, use the first arg as the command
|
||||||
|
match arg1 {
|
||||||
|
None => return, // return if no argument found
|
||||||
|
Some(a) => a,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Some(_) => {
|
||||||
|
match arg2 { // A reply message, use the 2nd arg as the command
|
||||||
|
None => return, // return if no argument found
|
||||||
|
Some(a) => a,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
for acts in (*actsdblock).values() {
|
for acts in (*actsdblock).values() {
|
||||||
for a in acts {
|
for a in acts {
|
||||||
match a {
|
match a {
|
||||||
|
@ -263,11 +328,31 @@ impl BotInstance {
|
||||||
Some(msg),
|
Some(msg),
|
||||||
);
|
);
|
||||||
|
|
||||||
let inpt = msg
|
|
||||||
.message_text
|
// /*
|
||||||
.split(' ')
|
// [ ] Here, msg is taken, and message_text is split so we can pull the first argument
|
||||||
.next()
|
// */
|
||||||
.expect("ERROR during BotCommand");
|
|
||||||
|
// let inpt = msg
|
||||||
|
// .message_text
|
||||||
|
// .split(' ')
|
||||||
|
// .next()
|
||||||
|
// .expect("ERROR during BotCommand");
|
||||||
|
|
||||||
|
// /*
|
||||||
|
// [ ] What we should do instead is :
|
||||||
|
// 1. Check if the message is related to a Reply (so we know how many arguments we should skip)
|
||||||
|
// 2. If a reply, skip the first argument
|
||||||
|
// */
|
||||||
|
|
||||||
|
// if let Some(rslt) = msg.source.tags.0.get("reply-thread-parent-msg-id") {
|
||||||
|
// if let Some(rslt) = rslt {
|
||||||
|
// println!("Detected Reply : {}",rslt);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// [x] Check if a bot command based on ...
|
// [x] Check if a bot command based on ...
|
||||||
// [x] prefix + command
|
// [x] prefix + command
|
||||||
|
|
Loading…
Reference in a new issue