Adds test command to add a test role to a user

main
Joey Pollack 2 years ago
parent 7936b24d28
commit f6cf166676

@ -4,10 +4,13 @@ mod commands;
mod data_loader; mod data_loader;
mod utils; mod utils;
use std::f32::consts::E;
use serenity::async_trait; use serenity::async_trait;
use serenity::model::channel::Message; use serenity::model::channel::Message;
use serenity::model::gateway::Ready; use serenity::model::gateway::Ready;
use serenity::prelude::*; use serenity::prelude::*;
use serenity::model::prelude::*;
struct Handler; struct Handler;
@ -21,17 +24,40 @@ impl EventHandler for Handler
// events can be dispatched simultaneously. // events can be dispatched simultaneously.
async fn message(&self, ctx: Context, msg: Message) async fn message(&self, ctx: Context, msg: Message)
{ {
if msg.content == ".ping"
if let Some(server_id) = msg.guild_id
{
let sm_speedrun_server_id = 98929157894836224;
let guru_test_server_id = 483735475283165195;
if server_id == sm_speedrun_server_id || server_id == guru_test_server_id
{
if msg.content == ".role_test"
{
let test_role = RoleId(1129106677619228702 as u64);
if let Err(why) = server_id.edit_member(&ctx, msg.author, |m|
{
if let Some(mut member) = msg.member
{
member.roles.push(test_role);
return m.roles(member.roles);
}
m
}).await
{
println!("Error updating roles: {:?}", why);
}
else
{ {
// Sending a message can fail, due to a network error, an let role = &server_id.roles(&ctx).await.unwrap()[&test_role];
// authentication error, or lack of permissions to post in the if let Err(why) = msg.channel_id.say(&ctx.http, format!("{} role added!", role)).await
// channel, so log to stdout when some error happens, with a
// description of it.
if let Err(why) = msg.channel_id.say(&ctx.http, "Pong!").await
{ {
println!("Error sending message: {:?}", why); println!("Error sending message: {:?}", why);
} }
} }
}
if msg.content == ".randomizer" if msg.content == ".randomizer"
{ {
@ -42,6 +68,10 @@ impl EventHandler for Handler
} }
} }
} }
}
}
// Set a handler to be called on the `ready` event. This is called when a // Set a handler to be called on the `ready` event. This is called when a
// shard is booted, and a READY payload is sent by Discord. This payload // shard is booted, and a READY payload is sent by Discord. This payload

Loading…
Cancel
Save