Revise title regex and don't escape sed regex
This commit is contained in:
parent
f2f0072511
commit
ee25b6f970
|
@ -1,6 +1,5 @@
|
|||
use crate::bot::{Context, Trigger};
|
||||
use async_trait::async_trait;
|
||||
use fancy_regex::escape;
|
||||
use fancy_regex::Captures;
|
||||
use regex::RegexBuilder;
|
||||
|
||||
|
@ -33,11 +32,9 @@ impl Trigger for Sed {
|
|||
.map(|s| (s.contains('g'), s.contains('i')))
|
||||
.unwrap_or_default();
|
||||
|
||||
let escaped = escape(find.as_str());
|
||||
let re = RegexBuilder::new(&escaped)
|
||||
let re = RegexBuilder::new(find.as_str())
|
||||
.case_insensitive(ignore_case)
|
||||
.build()
|
||||
.unwrap(); // Of course it's valid, we just escaped special chars
|
||||
.build()?;
|
||||
let result = if global {
|
||||
re.replace_all(&message, replace.as_str())
|
||||
} else {
|
||||
|
|
|
@ -3,7 +3,6 @@ use async_trait::async_trait;
|
|||
use fancy_regex::{Captures, Regex};
|
||||
use htmlescape::decode_html;
|
||||
use hyper::header::HeaderValue;
|
||||
use hyper::Uri;
|
||||
use reqwest::Client;
|
||||
|
||||
pub struct Title {
|
||||
|
@ -30,10 +29,6 @@ impl Trigger for Title {
|
|||
let url = captures.get(0).unwrap().as_str();
|
||||
tracing::debug!("url: {}", url);
|
||||
|
||||
if url.parse::<Uri>().is_err() {
|
||||
return Ok("\x039[Title]\x0311 Invalid URL".into());
|
||||
}
|
||||
|
||||
let request = self.http.get(url).build()?;
|
||||
let response = self.http.execute(request).await?;
|
||||
let headers = response.headers();
|
||||
|
|
|
@ -147,7 +147,7 @@ async fn main() -> anyhow::Result<()> {
|
|||
} else {
|
||||
tracing::warn!("Spotify module is disabled, because the config is missing");
|
||||
}
|
||||
bot.add_trigger(Regex::new(r"https?://[^\s/$.?#].\S*")?, Title::new()?);
|
||||
bot.add_trigger(Regex::new(r"https?://[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b[-a-zA-Z0-9()@:%_\+.~#?&//=]*")?, Title::new()?);
|
||||
#[cfg(feature = "debug")]
|
||||
{
|
||||
use commands::debug::*;
|
||||
|
|
Loading…
Reference in a new issue