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 crate::bot::{Context, Trigger};
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use fancy_regex::escape;
|
|
||||||
use fancy_regex::Captures;
|
use fancy_regex::Captures;
|
||||||
use regex::RegexBuilder;
|
use regex::RegexBuilder;
|
||||||
|
|
||||||
|
@ -33,11 +32,9 @@ impl Trigger for Sed {
|
||||||
.map(|s| (s.contains('g'), s.contains('i')))
|
.map(|s| (s.contains('g'), s.contains('i')))
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
|
|
||||||
let escaped = escape(find.as_str());
|
let re = RegexBuilder::new(find.as_str())
|
||||||
let re = RegexBuilder::new(&escaped)
|
|
||||||
.case_insensitive(ignore_case)
|
.case_insensitive(ignore_case)
|
||||||
.build()
|
.build()?;
|
||||||
.unwrap(); // Of course it's valid, we just escaped special chars
|
|
||||||
let result = if global {
|
let result = if global {
|
||||||
re.replace_all(&message, replace.as_str())
|
re.replace_all(&message, replace.as_str())
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -3,7 +3,6 @@ use async_trait::async_trait;
|
||||||
use fancy_regex::{Captures, Regex};
|
use fancy_regex::{Captures, Regex};
|
||||||
use htmlescape::decode_html;
|
use htmlescape::decode_html;
|
||||||
use hyper::header::HeaderValue;
|
use hyper::header::HeaderValue;
|
||||||
use hyper::Uri;
|
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
|
|
||||||
pub struct Title {
|
pub struct Title {
|
||||||
|
@ -30,10 +29,6 @@ impl Trigger for Title {
|
||||||
let url = captures.get(0).unwrap().as_str();
|
let url = captures.get(0).unwrap().as_str();
|
||||||
tracing::debug!("url: {}", url);
|
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 request = self.http.get(url).build()?;
|
||||||
let response = self.http.execute(request).await?;
|
let response = self.http.execute(request).await?;
|
||||||
let headers = response.headers();
|
let headers = response.headers();
|
||||||
|
|
|
@ -147,7 +147,7 @@ async fn main() -> anyhow::Result<()> {
|
||||||
} else {
|
} else {
|
||||||
tracing::warn!("Spotify module is disabled, because the config is missing");
|
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")]
|
#[cfg(feature = "debug")]
|
||||||
{
|
{
|
||||||
use commands::debug::*;
|
use commands::debug::*;
|
||||||
|
|
Loading…
Reference in a new issue