// 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; } }