Improve errors and wording
This commit is contained in:
57
src/hooks.rs
57
src/hooks.rs
@@ -1,4 +1,6 @@
|
||||
use poise::{CommandInteractionType, CreateReply};
|
||||
use crate::consts::THEME_COLOR;
|
||||
use poise::{serenity_prelude::CreateEmbed, CommandInteractionType, CreateReply};
|
||||
use serenity::builder::CreateEmbedFooter;
|
||||
|
||||
use crate::{consts::MACRO_MAX_COMMANDS, models::command_macro::RecordedCommand, Context, Error};
|
||||
|
||||
@@ -18,7 +20,18 @@ async fn macro_check(ctx: Context<'_>) -> bool {
|
||||
.send(
|
||||
CreateReply::default()
|
||||
.ephemeral(true)
|
||||
.content(format!("{} commands already recorded. Please use `/macro finish` to end recording.", MACRO_MAX_COMMANDS))
|
||||
.embed(CreateEmbed::new()
|
||||
.title("💾 Currently recording macro")
|
||||
.description(
|
||||
format!("{} commands already recorded. Please use `/macro finish` to end recording.", MACRO_MAX_COMMANDS),
|
||||
)
|
||||
.footer(
|
||||
CreateEmbedFooter::new(
|
||||
"Any commands performed during recording won't take any actual action- they are only captured for the macro"
|
||||
)
|
||||
)
|
||||
.color(*THEME_COLOR),
|
||||
),
|
||||
)
|
||||
.await;
|
||||
} else {
|
||||
@@ -28,9 +41,19 @@ async fn macro_check(ctx: Context<'_>) -> bool {
|
||||
|
||||
let _ = ctx
|
||||
.send(
|
||||
CreateReply::default()
|
||||
.ephemeral(true)
|
||||
.content("Command recorded to macro"),
|
||||
CreateReply::default().ephemeral(true).embed(
|
||||
CreateEmbed::new()
|
||||
.title("💾 Currently recording macro")
|
||||
.description(
|
||||
"Command recorded. Use `/macro finish` to end recording.",
|
||||
)
|
||||
.footer(
|
||||
CreateEmbedFooter::new(
|
||||
"Any commands performed during recording won't take any actual action- they are only captured for the macro"
|
||||
)
|
||||
)
|
||||
.color(*THEME_COLOR),
|
||||
),
|
||||
)
|
||||
.await;
|
||||
}
|
||||
@@ -38,8 +61,18 @@ async fn macro_check(ctx: Context<'_>) -> bool {
|
||||
None => {
|
||||
let _ = ctx
|
||||
.send(
|
||||
CreateReply::default().ephemeral(true).content(
|
||||
"This command is not supported in macros yet.",
|
||||
CreateReply::default().ephemeral(true).embed(
|
||||
CreateEmbed::new()
|
||||
.title("💾 Currently recording macro")
|
||||
.description(
|
||||
"This command is not supported in macros, so it hasn't been recorded. Use `/macro finish` to end recording.",
|
||||
)
|
||||
.footer(
|
||||
CreateEmbedFooter::new(
|
||||
"Any commands performed during recording won't take any actual action- they are only captured for the macro"
|
||||
)
|
||||
)
|
||||
.color(*THEME_COLOR),
|
||||
),
|
||||
)
|
||||
.await;
|
||||
@@ -74,6 +107,7 @@ async fn check_self_permissions(ctx: Context<'_>) -> bool {
|
||||
return if permissions.send_messages()
|
||||
&& permissions.embed_links()
|
||||
&& manage_webhooks
|
||||
&& permissions.view_channel()
|
||||
{
|
||||
true
|
||||
} else {
|
||||
@@ -81,12 +115,13 @@ async fn check_self_permissions(ctx: Context<'_>) -> bool {
|
||||
.send(CreateReply::default().content(format!(
|
||||
"The bot appears to be missing some permissions:
|
||||
|
||||
{} **View Channels**
|
||||
{} **Send Message**
|
||||
{} **Embed Links**
|
||||
{} **Manage Webhooks**
|
||||
|
||||
Please check the bot's roles, and any channel overrides. Alternatively, giving the bot
|
||||
\"Administrator\" will bypass permission checks",
|
||||
Please check the bot's roles, and any channel overrides. Alternatively, giving the bot \"Administrator\" will bypass permission checks",
|
||||
if permissions.view_channel() { "✅" } else { "❌" },
|
||||
if permissions.send_messages() { "✅" } else { "❌" },
|
||||
if permissions.embed_links() { "✅" } else { "❌" },
|
||||
if manage_webhooks { "✅" } else { "❌" },
|
||||
@@ -100,9 +135,7 @@ Please check the bot's roles, and any channel overrides. Alternatively, giving t
|
||||
manage_webhooks
|
||||
}
|
||||
|
||||
None => {
|
||||
return true;
|
||||
}
|
||||
None => true,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user