bumped sqlx -> 0.4, bumped reminder_rs -> 1.2.3, added a more descriptive message for not enough permissions. removed STRINGS_TABLE environment variable

This commit is contained in:
2020-11-20 16:37:39 +00:00
parent 19754d3bcc
commit 1927d381ab
7 changed files with 666 additions and 329 deletions

View File

@@ -289,9 +289,9 @@ impl RegexFramework {
}
enum PermissionCheck {
None, // No permissions
Basic, // Send + Embed permissions (sufficient to reply)
All, // Above + Manage Webhooks (sufficient to operate)
None, // No permissions
Basic(bool, bool), // Send + Embed permissions (sufficient to reply)
All, // Above + Manage Webhooks (sufficient to operate)
}
#[async_trait]
@@ -305,15 +305,18 @@ impl Framework for RegexFramework {
let user_id = ctx.cache.current_user_id().await;
let guild_perms = guild.member_permissions(&ctx, user_id).await?;
let perms = channel.permissions_for_user(ctx, user_id).await?;
let channel_perms = channel.permissions_for_user(ctx, user_id).await?;
let basic_perms = perms.send_messages();
let basic_perms = channel_perms.send_messages();
Ok(
if basic_perms && guild_perms.manage_webhooks() && perms.embed_links() {
if basic_perms && guild_perms.manage_webhooks() && channel_perms.embed_links() {
PermissionCheck::All
} else if basic_perms {
PermissionCheck::Basic
PermissionCheck::Basic(
guild_perms.manage_webhooks(),
channel_perms.embed_links(),
)
} else {
PermissionCheck::None
},
@@ -424,11 +427,20 @@ impl Framework for RegexFramework {
}
}
PermissionCheck::Basic => {
let _ = msg
.channel_id
.say(&ctx, user_data.response(&pool, "no_perms_general").await)
.await;
PermissionCheck::Basic(manage_webhooks, embed_links) => {
let response = user_data
.response(&pool, "no_perms_general")
.await
.replace(
"{manage_webhooks}",
if manage_webhooks { "" } else { "" },
)
.replace(
"{embed_links}",
if embed_links { "" } else { "" },
);
let _ = msg.channel_id.say(&ctx, response).await;
}
PermissionCheck::None => {