Fixing a problem with the return type of interaction_create
#1
1 changed files with 12 additions and 15 deletions
27
src/main.rs
27
src/main.rs
|
@ -41,12 +41,12 @@ struct Handler;
|
|||
impl EventHandler for Handler {
|
||||
async fn interaction_create(&self, ctx: Context, interaction: Interaction) {
|
||||
if let Interaction::Command(command) = interaction {
|
||||
let content = match command.data.name.as_str() {
|
||||
"info" => Some(commands::info::run(&ctx, &command)),
|
||||
"play" => Some(commands::play::run(&ctx, &command)),
|
||||
"stop" => Some(commands::stop::run(&ctx, &command)),
|
||||
_ => Some(respond_with_error(&ctx, &command)),
|
||||
};
|
||||
let content = Some(match command.data.name.as_str() {
|
||||
"info" => commands::info::run(&ctx, &command).await,
|
||||
"play" => commands::play::run(&ctx, &command).await,
|
||||
"stop" => commands::stop::run(&ctx, &command).await,
|
||||
_ => respond_with_error(&ctx, &command).await,
|
||||
});
|
||||
|
||||
if let Some(embed) = content {
|
||||
let data = CreateInteractionResponseMessage::new().embed(embed);
|
||||
|
@ -72,25 +72,24 @@ impl EventHandler for Handler {
|
|||
pub async fn respond_with_error(_ctx: &Context, command: &CommandInteraction) -> CreateEmbed {
|
||||
let username = &command.user.name.as_str();
|
||||
let current_time = Local::now().format("%Y-%m-%d @ %H:%M:%S");
|
||||
|
||||
|
||||
CreateEmbed::new()
|
||||
.author(CreateEmbedAuthor::new("Rustendo"))
|
||||
.title("Command not found")
|
||||
.description("Cannot find the executed command")
|
||||
.footer(CreateEmbedFooter::new(format!("> {} | {}", current_time, username)))
|
||||
.footer(CreateEmbedFooter::new(format!(
|
||||
"> {} | {}",
|
||||
current_time, username
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
println!(r"__________ __ .___
|
||||
\______ \__ __ _______/ |_ ____ ____ __| _/____
|
||||
| _/ | | ___/\ __\_/ __ \ / \ / __ |/ _ \
|
||||
println!(
|
||||
| | \ | |___ \ | | \ ___/ | | | /_/ ( <_> )
|
||||
|____|_ /____/____ > |__| \___ >|___| |____ |\____/
|
||||
\/ \/ \/ \/ \/
|
||||
");
|
||||
|
||||
|
||||
// Load config
|
||||
let config = config::load().unwrap();
|
||||
// Set status
|
||||
|
@ -111,9 +110,7 @@ async fn main() {
|
|||
//
|
||||
// Shards will automatically attempt to reconnect, and will perform exponential backoff until
|
||||
// it reconnects.
|
||||
if let Err(why) = client
|
||||
.start()
|
||||
.await {
|
||||
if let Err(why) = client.start().await {
|
||||
println!("Client error: {why:?}");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue