mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-04-30 06:24:27 +02:00
fix: Handle response whitelist and blacklist correctly
This commit is contained in:
parent
10adf19ddd
commit
4b75d76c17
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1683,7 +1683,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "revanced-discord-bot"
|
name = "revanced-discord-bot"
|
||||||
version = "2.8.0"
|
version = "2.9.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bson",
|
"bson",
|
||||||
|
@ -5,7 +5,7 @@ homepage = "https://revanced.app"
|
|||||||
license = "GPL-3.0"
|
license = "GPL-3.0"
|
||||||
name = "revanced-discord-bot"
|
name = "revanced-discord-bot"
|
||||||
repository = "https://github.com/revanced/revanced-discord-bot"
|
repository = "https://github.com/revanced/revanced-discord-bot"
|
||||||
version = "2.8.0"
|
version = "2.9.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
@ -4,16 +4,13 @@ use serenity::Message;
|
|||||||
use tracing::log::error;
|
use tracing::log::error;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::{
|
use crate::{model::application::Trigger, BotData};
|
||||||
model::application::Trigger,
|
|
||||||
BotData,
|
|
||||||
};
|
|
||||||
|
|
||||||
impl Trigger {
|
impl Trigger {
|
||||||
fn matches(&self, new_message: &Message, member_roles: &[RoleId]) -> bool {
|
fn matches(&self, new_message: &Message, member_roles: &[RoleId]) -> bool {
|
||||||
if let Some(channels) = &self.channels {
|
if let Some(channels) = &self.channels {
|
||||||
if !channels.contains(&new_message.channel_id.get()) {
|
if !channels.contains(&new_message.channel_id.get()) {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,11 +19,11 @@ impl Trigger {
|
|||||||
.iter()
|
.iter()
|
||||||
.any(|&member_role| roles.contains(&member_role.get()))
|
.any(|&member_role| roles.contains(&member_role.get()))
|
||||||
{
|
{
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !self.regex.iter().any(|r| r.is_match(&new_message.content)) {
|
if !self.regex.is_empty() && self.regex.iter().any(|r| r.is_match(&new_message.content)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,7 +46,7 @@ pub async fn handle_message_response(
|
|||||||
|
|
||||||
for response in &configuration.responses {
|
for response in &configuration.responses {
|
||||||
if let Some(whitelist) = &response.whitelist {
|
if let Some(whitelist) = &response.whitelist {
|
||||||
if whitelist.matches(new_message, member_roles) {
|
if !whitelist.matches(new_message, member_roles) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user