mirror of
https://github.com/eRgo35/lyra.git
synced 2026-02-04 20:36:10 +01:00
0.5.1 refractor
This commit is contained in:
@@ -1,18 +1,23 @@
|
||||
use crate::{commands::embeds::{error_embed, embed}, Context, Error};
|
||||
use crate::{
|
||||
commands::embeds::{embed, error_embed},
|
||||
Context, Error,
|
||||
};
|
||||
use poise::CreateReply;
|
||||
use songbird::tracks::LoopState;
|
||||
|
||||
/// Loops currently playing song provided amount of times; \
|
||||
/// aliases: repeat, loop, while, for
|
||||
#[poise::command(
|
||||
prefix_command,
|
||||
prefix_command,
|
||||
slash_command,
|
||||
aliases("loop", "while", "for"),
|
||||
category = "Music"
|
||||
)]
|
||||
pub async fn repeat(
|
||||
ctx: Context<'_>,
|
||||
#[description = "How many times"] #[rest] times: usize
|
||||
ctx: Context<'_>,
|
||||
#[description = "How many times"]
|
||||
#[rest]
|
||||
times: usize,
|
||||
) -> Result<(), Error> {
|
||||
let guild_id = ctx.guild_id().unwrap();
|
||||
|
||||
@@ -21,7 +26,6 @@ pub async fn repeat(
|
||||
.expect("Songbird client placed at init")
|
||||
.clone();
|
||||
|
||||
|
||||
if let Some(handler_lock) = manager.get(guild_id) {
|
||||
let handler = handler_lock.lock().await;
|
||||
let queue = handler.queue();
|
||||
@@ -34,36 +38,52 @@ pub async fn repeat(
|
||||
let _ = queue.current().unwrap().disable_loop();
|
||||
|
||||
ctx.send(
|
||||
CreateReply::default().embed(embed(ctx, "Song Unlooped!", "", "").await.unwrap())
|
||||
).await?;
|
||||
CreateReply::default()
|
||||
.embed(embed(ctx, "Song Unlooped!", "", "").await.unwrap()),
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
LoopState::Finite(_) => {
|
||||
LoopState::Finite(_) => {
|
||||
if times == 0 {
|
||||
let _ = queue.current().unwrap().disable_loop();
|
||||
|
||||
ctx.send(
|
||||
CreateReply::default().embed(embed(ctx, "Song Unlooped!", "", "").await.unwrap())
|
||||
).await?;
|
||||
}
|
||||
else if times < 100 {
|
||||
CreateReply::default()
|
||||
.embed(embed(ctx, "Song Unlooped!", "", "").await.unwrap()),
|
||||
)
|
||||
.await?;
|
||||
} else if times < 100 {
|
||||
let _ = queue.current().unwrap().loop_for(times);
|
||||
ctx.send(
|
||||
CreateReply::default().embed(embed(ctx, &format!("Song looped {} times!", times), "You definitelly love this song!", "").await.unwrap())
|
||||
).await?;
|
||||
}
|
||||
else {
|
||||
CreateReply::default().embed(
|
||||
embed(
|
||||
ctx,
|
||||
&format!("Song looped {} times!", times),
|
||||
"You definitelly love this song!",
|
||||
"",
|
||||
)
|
||||
.await
|
||||
.unwrap(),
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
} else {
|
||||
let _ = queue.current().unwrap().enable_loop();
|
||||
ctx.send(
|
||||
CreateReply::default().embed(embed(ctx, "Song looped forever!", "A very long time!", "").await.unwrap())
|
||||
).await?;
|
||||
CreateReply::default().embed(
|
||||
embed(ctx, "Song looped forever!", "A very long time!", "")
|
||||
.await
|
||||
.unwrap(),
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
let msg = "I am not in a voice channel!";
|
||||
ctx.send(
|
||||
CreateReply::default().embed(error_embed(ctx, msg).await.unwrap())
|
||||
).await?;
|
||||
ctx.send(CreateReply::default().embed(error_embed(ctx, msg).await.unwrap()))
|
||||
.await?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user