diff --git a/Cargo.lock b/Cargo.lock index 58288e4..031c102 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2575,7 +2575,7 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tobi-rs" -version = "0.9.3" +version = "0.9.4" dependencies = [ "animethemes-rs", "aspotify", diff --git a/Cargo.toml b/Cargo.toml index 8c9cf43..07a80b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tobi-rs" -version = "0.9.3" +version = "0.9.4" authors = ["trivernis "] edition = "2018" diff --git a/src/messages/inspirobot.rs b/src/messages/inspirobot.rs index 46bedef..98ab969 100644 --- a/src/messages/inspirobot.rs +++ b/src/messages/inspirobot.rs @@ -4,19 +4,23 @@ use serenity::builder::CreateMessage; use serenity::client::Context; use serenity::model::id::ChannelId; use serenity_rich_interaction::core::EXTRA_LONG_TIMEOUT; -use serenity_rich_interaction::menu::{display_page, MenuBuilder, Page}; +use serenity_rich_interaction::menu::{ + close_menu, display_page, MenuBuilder, Page, CLOSE_MENU_EMOJI, +}; -static REFRESH_CONTROL: &str = "🔄"; +static REFRESH_EMOJI: &str = "🔄"; pub async fn create_inspirobot_menu(ctx: &Context, channel_id: ChannelId) -> BotResult<()> { MenuBuilder::default() - .add_control(0, REFRESH_CONTROL, |ctx, menu, _r| { + .add_control(0, REFRESH_EMOJI, |ctx, menu, _r| { Box::pin(async move { display_page(ctx, menu).await?; Ok(()) }) }) - .add_help(REFRESH_CONTROL, "Creates a new inspiring image.") + .add_help(REFRESH_EMOJI, "Creates a new inspiring image.") + .add_control(1, CLOSE_MENU_EMOJI, |c, m, r| Box::pin(close_menu(c, m, r))) + .add_help(CLOSE_MENU_EMOJI, "Closes this menu.") .show_help() .add_page(Page::new_builder(|| { Box::pin(async { @@ -36,7 +40,11 @@ pub async fn create_inspirobot_menu(ctx: &Context, channel_id: ChannelId) -> Bot async fn create_inspirobot_page<'a>() -> BotResult> { let image = get_inspirobot_image().await?; let mut message = CreateMessage::default(); - message.embed(|e| e.image(image).title("Be inspired")); + message.embed(|e| { + e.image(image) + .title("Be inspired") + .footer(|f| f.text("Powered by inspirobot.me")) + }); Ok(message) }