[WIP] Fix loading gif replies

This commit is contained in:
Alex Page 2024-01-25 12:57:30 -05:00
parent e58e70509c
commit 66b215a0cb

View file

@ -1,5 +1,5 @@
use anyhow::{Context, Result};
use poise::serenity_prelude::{EmbedMessageBuilding, MessageBuilder};
use poise::serenity_prelude::{CreateEmbed, EmbedMessageBuilding, MessageBuilder};
use tracing::{debug, log::warn};
use crate::{personality, CommandContext, Error};
@ -11,7 +11,11 @@ pub async fn join(ctx: CommandContext<'_>) -> Result<(), Error> {
return Ok(());
};
let Some(Some(channel_id)) = guild.voice_states.get(&ctx.author().id).map(|vs| vs.channel_id) else {
let Some(Some(channel_id)) = guild
.voice_states
.get(&ctx.author().id)
.map(|vs| vs.channel_id)
else {
ctx.say("You're not in a voice channel, silly.").await?;
return Ok(());
};
@ -72,21 +76,26 @@ pub async fn play(
.clone();
if manager.get(guild.id).is_none() {
let Some(Some(channel_id)) = guild.voice_states.get(&ctx.author().id).map(|vs| vs.channel_id) else {
ctx.say("Neither of us are in a voice channel, silly.").await?;
let Some(Some(channel_id)) = guild
.voice_states
.get(&ctx.author().id)
.map(|vs| vs.channel_id)
else {
ctx.say("Neither of us are in a voice channel, silly.")
.await?;
return Ok(());
};
let _handler = manager.join(guild.id, channel_id).await;
}
if let Some(handler_lock) = manager.get(guild.id) {
let mut msg = MessageBuilder::new();
msg.push_line(String::from(personality::get_random_loading_message()))
.push_named_link(
"",
"https://media.giphy.com/media/H1dxi6xdh4NGQCZSvz/giphy.gif",
let reply = poise::CreateReply::default()
.content(personality::get_random_loading_message())
.embed(
CreateEmbed::new()
.image("https://media.giphy.com/media/H1dxi6xdh4NGQCZSvz/giphy.gif"),
);
let response = ctx.send(|r| r.content(msg.build())).await?;
let response = ctx.send(reply).await?;
let mut handler = handler_lock.lock().await;
@ -170,21 +179,26 @@ pub async fn queue(
.clone();
if manager.get(guild.id).is_none() {
let Some(Some(channel_id)) = guild.voice_states.get(&ctx.author().id).map(|vs| vs.channel_id) else {
ctx.say("Neither of us are in a voice channel, silly.").await?;
let Some(Some(channel_id)) = guild
.voice_states
.get(&ctx.author().id)
.map(|vs| vs.channel_id)
else {
ctx.say("Neither of us are in a voice channel, silly.")
.await?;
return Ok(());
};
let _handler = manager.join(guild.id, channel_id).await;
}
if let Some(handler_lock) = manager.get(guild.id) {
let mut msg = MessageBuilder::new();
msg.push_line(String::from(personality::get_random_loading_message()))
.push_named_link(
"",
"https://media.giphy.com/media/H1dxi6xdh4NGQCZSvz/giphy.gif",
let reply = poise::CreateReply::default()
.content(personality::get_random_loading_message())
.embed(
CreateEmbed::new()
.image("https://media.giphy.com/media/H1dxi6xdh4NGQCZSvz/giphy.gif"),
);
let response = ctx.send(|r| r.content(msg.build())).await?;
let response = ctx.send(reply).await?;
let mut handler = handler_lock.lock().await;