mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-06-13 05:37:45 +02:00
fix: do not create unnecessary instances of Regex
This commit is contained in:
11
Cargo.lock
generated
11
Cargo.lock
generated
@ -682,6 +682,7 @@ dependencies = [
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_regex",
|
||||
"serenity",
|
||||
"tokio",
|
||||
]
|
||||
@ -779,6 +780,16 @@ dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_regex"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf"
|
||||
dependencies = [
|
||||
"regex",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_urlencoded"
|
||||
version = "0.7.1"
|
||||
|
@ -22,6 +22,7 @@ serde_json = "1.0"
|
||||
tokio = { version = "1.0", features = ["rt-multi-thread"] }
|
||||
log = "0.4"
|
||||
regex = "1.0"
|
||||
serde_regex = "1.1"
|
||||
chrono = "0.4"
|
||||
|
||||
[dependencies.serenity]
|
||||
|
@ -1,9 +1,9 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use chrono::{DateTime, Duration, NaiveDateTime, Utc};
|
||||
use configuration::application::Configuration;
|
||||
use log::{error, info, trace, LevelFilter};
|
||||
use logger::logging::SimpleLogger;
|
||||
use model::application::Configuration;
|
||||
use regex::Regex;
|
||||
use serenity::client::{Context, EventHandler};
|
||||
use serenity::model::channel::{GuildChannel, Message};
|
||||
@ -12,8 +12,8 @@ use serenity::model::prelude::command::Command;
|
||||
use serenity::model::prelude::interaction::{Interaction, InteractionResponseType, MessageFlags};
|
||||
use serenity::prelude::{GatewayIntents, RwLock, TypeMapKey};
|
||||
use serenity::{async_trait, Client};
|
||||
mod configuration;
|
||||
mod logger;
|
||||
mod model;
|
||||
|
||||
static LOGGER: SimpleLogger = SimpleLogger;
|
||||
|
||||
@ -34,8 +34,8 @@ async fn get_configuration_lock(ctx: &Context) -> Arc<RwLock<Configuration>> {
|
||||
.clone()
|
||||
}
|
||||
|
||||
fn contains_match(strings: &Vec<String>, text: &String) -> bool {
|
||||
strings.iter().any(|regex| Regex::new(regex).unwrap().is_match(&text))
|
||||
fn contains_match(regex: &Vec<Regex>, text: &String) -> bool {
|
||||
regex.iter().any(|r| r.is_match(&text))
|
||||
}
|
||||
|
||||
fn load_configuration() -> Configuration {
|
||||
|
@ -1,6 +1,7 @@
|
||||
use std::fs::File;
|
||||
use std::io::{Error, Read, Write};
|
||||
|
||||
use regex::Regex;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Default, Serialize, Deserialize)]
|
||||
@ -107,14 +108,16 @@ pub struct Author {
|
||||
pub struct Includes {
|
||||
pub channels: Vec<u64>,
|
||||
#[serde(rename = "match")]
|
||||
pub match_field: Vec<String>,
|
||||
#[serde(with = "serde_regex")]
|
||||
pub match_field: Vec<Regex>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct Excludes {
|
||||
pub roles: Vec<u64>,
|
||||
#[serde(rename = "match")]
|
||||
pub match_field: Vec<String>,
|
||||
#[serde(with = "serde_regex")]
|
||||
pub match_field: Vec<Regex>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
Reference in New Issue
Block a user