Skip to content

Commit 6e60e7d

Browse files
committed
Fix extra permission message that happens when running $support
1 parent 118b6ff commit 6e60e7d

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

src/discord_bot/brainfuck.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ fn run_brainfuck(brainfuck: Vec<char>, input: Vec<u8>) -> Result<Vec<u8>, Brainf
125125
if new_len > MEM_LIMIT {
126126
return Err(BrainfuckError::OutOfMemory);
127127
}
128-
mem.extend(std::iter::repeat(0).take((-idx) as usize));
128+
mem.extend(std::iter::repeat_n(0, (-idx) as usize));
129129
mem.copy_within(0..old_len, (-idx) as usize);
130130
mem[0..(-idx) as usize].fill(0);
131131
Ok(0)
@@ -136,7 +136,7 @@ fn run_brainfuck(brainfuck: Vec<char>, input: Vec<u8>) -> Result<Vec<u8>, Brainf
136136
if new_len > MEM_LIMIT {
137137
return Err(BrainfuckError::OutOfMemory);
138138
}
139-
mem.extend(std::iter::repeat(0).take(additional_len as usize));
139+
mem.extend(std::iter::repeat_n(0, additional_len as usize));
140140
}
141141
Ok(idx)
142142
}

src/discord_bot/commands.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use chrono::Datelike;
77
use log::info;
88
use serde::Deserialize;
99
use serenity::builder::{CreateAttachment, CreateEmbed, CreateEmbedFooter, CreateMessage};
10+
use serenity::cache::Cache;
1011
use serenity::client::Context;
1112
use serenity::model::channel::{ChannelType, Message};
1213
use serenity::model::id::GuildId;
@@ -130,11 +131,17 @@ async fn handle_custom_command(
130131
Ok(())
131132
}
132133

133-
pub(super) async fn check_admin(ctx: &Context, message: &Message) -> Result<bool, crate::Error> {
134+
pub(super) fn is_admin(ctx: impl AsRef<Cache>, message: &Message) -> bool {
134135
if let Some(permissions) = message.author_permissions(ctx) {
135-
if permissions.contains(Permissions::ADMINISTRATOR) {
136-
return Ok(true);
137-
}
136+
return permissions.contains(Permissions::ADMINISTRATOR);
137+
}
138+
139+
false
140+
}
141+
142+
pub(super) async fn check_admin(ctx: &Context, message: &Message) -> Result<bool, crate::Error> {
143+
if is_admin(ctx, message) {
144+
return Ok(true);
138145
}
139146

140147
message

src/discord_bot/support.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::config;
2-
use crate::discord_bot::commands::check_admin;
2+
use crate::discord_bot::commands::is_admin;
33
use crate::discord_bot::guild_storage::GuildStorage;
44
use futures::future::join_all;
55
use serenity::builder::{CreateEmbed, CreateMessage};
@@ -67,7 +67,7 @@ async fn run_normal(
6767
now.unix_timestamp() - joined_at.unix_timestamp() <= MAX_SUPPORT_USED_ON_TIME
6868
}) != Some(true)
6969
{
70-
if check_admin(&ctx, message).await? {
70+
if is_admin(&ctx, message) {
7171
admin_override = true;
7272
} else {
7373
message

0 commit comments

Comments
 (0)