Add help and inv_all commands
This commit is contained in:
parent
bc762d4897
commit
c9572ab402
49
src/bot.rs
49
src/bot.rs
@ -123,6 +123,35 @@ impl Bot {
|
|||||||
|
|
||||||
// Process commands with no arguments
|
// Process commands with no arguments
|
||||||
|
|
||||||
|
if content == "help" {
|
||||||
|
info!("Showing help for {}", sender_info.player_alias);
|
||||||
|
|
||||||
|
let command_list =
|
||||||
|
format!("Commands: admin, ban, cheese, info, inv, inv_all, kick, roll, unban");
|
||||||
|
let example = format!("Example: inv name1 name2 name3");
|
||||||
|
let command_details = format!("Admin-only commands: admin, ban, inv_all, kick, unban");
|
||||||
|
|
||||||
|
match &message.chat_type {
|
||||||
|
ChatType::Tell(_, _) | ChatType::Group(_, _) => {
|
||||||
|
self.client.send_command(
|
||||||
|
"tell".to_string(),
|
||||||
|
vec![sender_info.player_alias.clone(), command_list],
|
||||||
|
);
|
||||||
|
self.client.send_command(
|
||||||
|
"tell".to_string(),
|
||||||
|
vec![sender_info.player_alias.clone(), example],
|
||||||
|
);
|
||||||
|
self.client.send_command(
|
||||||
|
"tell".to_string(),
|
||||||
|
vec![sender_info.player_alias, command_details],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
if content == "inv" {
|
if content == "inv" {
|
||||||
info!("Inviting {}", sender_info.player_alias);
|
info!("Inviting {}", sender_info.player_alias);
|
||||||
|
|
||||||
@ -131,13 +160,13 @@ impl Bot {
|
|||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
if content == "kick_all" && self.admin_list.contains(&sender_info.uuid) {
|
if content == "inv_all" && self.admin_list.contains(&sender_info.uuid) {
|
||||||
info!("Kicking everyone");
|
info!("Inviting everyone...");
|
||||||
|
|
||||||
let group_members = self.client.group_members().clone();
|
let player_list = self.client.player_list().clone();
|
||||||
|
|
||||||
for (uid, _) in group_members {
|
for (uid, _) in player_list {
|
||||||
self.client.kick_from_group(uid);
|
self.client.send_invite(uid, InviteKind::Group);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Ok(());
|
return Ok(());
|
||||||
@ -203,7 +232,7 @@ impl Bot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
match &message.chat_type {
|
match &message.chat_type {
|
||||||
ChatType::Tell(_, _) => {
|
ChatType::Tell(_, _) | ChatType::Group(_, _) => {
|
||||||
self.client.send_command(
|
self.client.send_command(
|
||||||
"tell".to_string(),
|
"tell".to_string(),
|
||||||
vec![sender_info.player_alias.clone(), members_message],
|
vec![sender_info.player_alias.clone(), members_message],
|
||||||
@ -217,14 +246,6 @@ impl Bot {
|
|||||||
vec![sender_info.player_alias, banned_message],
|
vec![sender_info.player_alias, banned_message],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
ChatType::Group(_, _) => {
|
|
||||||
self.client
|
|
||||||
.send_command("group".to_string(), vec![members_message]);
|
|
||||||
self.client
|
|
||||||
.send_command("group".to_string(), vec![admins_message]);
|
|
||||||
self.client
|
|
||||||
.send_command("group".to_string(), vec![banned_message]);
|
|
||||||
}
|
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user