You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.7 KiB
Rust

// use serenity::async_trait;
use serenity::model::channel::Message;
// use serenity::model::gateway::Ready;
use serenity::prelude::*;
use serenity::model::prelude::*;
use super::super::utils;
pub async fn parse_command(ctx: Context, msg: Message, server_id: GuildId)
{
if server_id == utils::ADMIN_SERVER_ID
{
if msg.content == ".log_test"
{
utils::Logger::log_message(ctx, "This is a test log message!").await;
return;
}
}
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
{
utils::Logger::log_error(ctx, &format!("Error updating roles: {:?}", why)).await;
}
else
{
let role = &server_id.roles(&ctx).await.unwrap()[&test_role];
if let Err(why) = msg.channel_id.say(&ctx.http, format!("{} role added!", role)).await
{
utils::Logger::log_error(ctx, &format!("Error sending message: {:?}", why)).await;
}
}
return;
}
if msg.content == ".randomizer"
{
let item = utils::get_random_item();
if let Err(why) = msg.channel_id.say(&ctx.http, format!("You found {}!", item)).await
{
println!("Error sending message: {:?}", why);
}
}
}