diff options
Diffstat (limited to 'src/commands/meme/invoke.rs')
| -rw-r--r-- | src/commands/meme/invoke.rs | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/commands/meme/invoke.rs b/src/commands/meme/invoke.rs index e399e82..31b0085 100644 --- a/src/commands/meme/invoke.rs +++ b/src/commands/meme/invoke.rs @@ -14,48 +14,50 @@ use crate::{ }, util, PoiseContext, + RestVec, }; -#[poise::command(slash_command, prefix_command, guild_only, category = "memes", aliases("mem"))] -pub async fn meme(ctx: PoiseContext<'_>, #[rest] rest: String) -> anyhow::Result<()> { - _meme(ctx, rest, AudioPlayback::Optional).await +/// Post a meme. +#[poise::command(prefix_command, guild_only, category = "memes", aliases("mem"))] +pub async fn meme(ctx: PoiseContext<'_>, title: RestVec) -> anyhow::Result<()> { + let title = title.into_inner().join(" "); + + _meme(ctx, title.trim(), AudioPlayback::Optional).await } -#[poise::command(slash_command, prefix_command, guild_only, category = "memes")] +/// Post a random omen. +#[poise::command(prefix_command, guild_only, category = "memes", discard_spare_arguments)] pub async fn omen(ctx: PoiseContext<'_>) -> anyhow::Result<()> { _meme(ctx, "", AudioPlayback::Optional).await } -#[poise::command(slash_command, prefix_command, guild_only, category = "memes")] +/// Post a random omen without audio. +#[poise::command(prefix_command, guild_only, category = "memes", discard_spare_arguments)] pub async fn silentomen(ctx: PoiseContext<'_>) -> anyhow::Result<()> { _meme(ctx, "", AudioPlayback::Prohibited).await } -#[poise::command(slash_command, prefix_command, guild_only, category = "memes")] +/// Post a random omen with audio. +#[poise::command(prefix_command, guild_only, category = "memes", discard_spare_arguments)] pub async fn audioomen(ctx: PoiseContext<'_>) -> anyhow::Result<()> { _meme(ctx, "", AudioPlayback::Required).await } -#[poise::command( - slash_command, - prefix_command, - guild_only, - category = "memes", - aliases("audiomeme", "audiomem") -)] -pub async fn audio_meme(ctx: PoiseContext<'_>, #[rest] rest: String) -> anyhow::Result<()> { - _meme(ctx, rest, AudioPlayback::Required).await +/// Post a random meme with audio. +#[poise::command(prefix_command, guild_only, category = "memes", aliases("audiomeme", "audiomem"))] +pub async fn audio_meme(ctx: PoiseContext<'_>) -> anyhow::Result<()> { + _meme(ctx, "", AudioPlayback::Required).await } +/// Post a random meme without audio. #[poise::command( - slash_command, prefix_command, guild_only, category = "memes", aliases("silentmeme", "silentmem") )] -pub async fn silent_meme(ctx: PoiseContext<'_>, #[rest] rest: String) -> anyhow::Result<()> { - _meme(ctx, rest, AudioPlayback::Prohibited).await +pub async fn silent_meme(ctx: PoiseContext<'_>) -> anyhow::Result<()> { + _meme(ctx, "", AudioPlayback::Prohibited).await } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] @@ -132,13 +134,8 @@ async fn rand_meme(ctx: PoiseContext<'_>, audio_playback: AudioPlayback) -> anyh } } -#[poise::command( - slash_command, - prefix_command, - guild_only, - category = "memes", - aliases("raremem", "rarememe") -)] +/// Post a rare meme. +#[poise::command(prefix_command, guild_only, category = "memes", aliases("raremem", "rarememe"))] pub async fn rare_meme(ctx: PoiseContext<'_>) -> anyhow::Result<()> { let should_audio = util::users_listening(ctx.serenity_context()).await?; |
