|
|
|
|
|
|
|
|
|
// use serenity::async_trait;
|
|
|
|
|
use serenity::model::channel::Message;
|
|
|
|
|
// use serenity::model::gateway::Ready;
|
|
|
|
|
use serenity::prelude::*;
|
|
|
|
|
use serenity::model::prelude::*;
|
|
|
|
|
|
|
|
|
|
use crate::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 == ".shutdown"
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let command_lower = msg.content.to_lowercase();
|
|
|
|
|
let mut command_iter = command_lower.split_whitespace();
|
|
|
|
|
let command_start = command_iter.next();
|
|
|
|
|
|
|
|
|
|
if command_start == Some(".argstest")
|
|
|
|
|
{
|
|
|
|
|
if let Some(arg) = command_iter.next()
|
|
|
|
|
{
|
|
|
|
|
match arg
|
|
|
|
|
{
|
|
|
|
|
"red" => utils::send_msg(ctx, msg.channel_id, "arg was red!").await,
|
|
|
|
|
|
|
|
|
|
_ => utils::Logger::log_error(ctx, &format!("unknown .argstest argument: {}", arg)).await
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if msg.content == ".role_test"
|
|
|
|
|
{
|
|
|
|
|
let test_role = RoleId(1129106677619228702 as u64);
|
|
|
|
|
match utils::add_role(ctx.clone(), msg.author.id, test_role, server_id).await
|
|
|
|
|
{
|
|
|
|
|
Ok(role) => utils::send_msg(ctx, msg.channel_id, &format!("Added role {:?}", role.name)).await,
|
|
|
|
|
Err(why) => utils::Logger::log_error(ctx, &format!("failed to add role to user - {}", why)).await,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
|
}
|
|
|
|
|
}
|