0.5.0 embed, help, refractor

This commit is contained in:
2024-02-13 18:44:01 +01:00
parent d75c5bc9a2
commit 8fa86b0182
24 changed files with 341 additions and 94 deletions

View File

@@ -1,7 +1,17 @@
use crate::{Context, Error};
use poise::CreateReply;
use crate::{commands::embeds::{error_embed, fail, embed}, Context, Error};
#[poise::command(prefix_command, slash_command)]
pub async fn leave(ctx: Context<'_>) -> Result<(), Error> {
/// Leaves the voice channel; \
/// aliases: leave, qa!
#[poise::command(
prefix_command,
slash_command,
aliases("leave", "qa!"),
category = "Music"
)]
pub async fn leave(
ctx: Context<'_>
) -> Result<(), Error> {
let guild_id = ctx.guild_id().unwrap();
let manager = songbird::get(&ctx.serenity_context())
@@ -10,15 +20,21 @@ pub async fn leave(ctx: Context<'_>) -> Result<(), Error> {
.clone();
if !manager.get(guild_id).is_some() {
ctx.say("Not in a voice channel").await?;
let msg = "I am not in a voice channel!";
ctx.send(
CreateReply::default().embed(error_embed(ctx, msg).await.unwrap())
).await?;
return Ok(())
}
if let Err(err) = manager.remove(guild_id).await {
ctx.say(format!("Failed: {:?}", err)).await?;
fail(ctx, err.to_string()).await.unwrap();
}
ctx.say("Left voice channel").await?;
ctx.send(
CreateReply::default().embed(embed(ctx, "Left!", "I left the voice channel", "").await.unwrap())
).await?;
Ok(())
}