[no description]
regex change
bendn 5 weeks ago
parent ec84e08 · commit 251ee2d
-rw-r--r--src/main.rs29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs
index 0c561c0..bcced29 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -129,9 +129,10 @@ pub async fn spawn() {
static TENOR: LazyLock<Regex> =
LazyLock::new(|| Regex::new("https?://tenor.com/view/.+-[0-9]+").unwrap());
+
static DISCORD: LazyLock<Regex> = LazyLock::new(|| {
Regex::new(
- r"https:\/\/(?:cdn|media)\.discordapp\.(?:com|net)\/attachments\/\d+\/\d+\/(?<name>[\w-]+)\.(?<ext>\w+)(?<tracking>\?[a-z]+=[0-9a-f]+(?:&[a-z]+=[0-9a-f]+)*)?",
+ r"https:\/\/(?:cdn|media)\.discordapp\.(?:com|net)\/attachments\/\d+\/\d+\/(?<name>[.\w-]+)\.(?<ext>\w+)(?<tracking>\?[a-z]+=[0-9a-f]+(?:&[a-z]+=[0-9a-f]+)*)?",
)
.unwrap()
});
@@ -168,7 +169,8 @@ async fn handle_message(
return Ok(None);
}
let mut new_message = Cow::Borrowed(new_message);
- if let Some(x) = DISCORD.captures(&new_message.content) {
+ println!("hi");
+ if let Some(x) = dbg!(DISCORD.captures(dbg!(&new_message.content))) {
if x.name("tracking").is_none() {
if new_message.embeds.is_empty() {
new_message = Cow::Owned(
@@ -186,19 +188,32 @@ async fn handle_message(
);
}
}
- } else if let Some(url) = x.get(0)
+ } else if let Some(url) = dbg!(x.get(0))
&& let Some(name) = x.name("name")
&& let Some(ext) = x.name("ext")
{
return rediscord(url.into(), ext.into(), name.into()).await;
}
}
- if let Some(x) = retenor(&new_message.content).await? {
+ println!("hi");
+ if let Some(x) = (retenor(&new_message.content).await?) {
return Ok(Some(x));
}
-
- for embed in new_message.embeds.clone() {
- let Some(u) = embed.url else { continue };
+ if new_message.embeds.is_empty() {
+ new_message = Cow::Owned(
+ c.http.get_message(new_message.channel_id, new_message.id).await?,
+ );
+ if new_message.embeds.is_empty() {
+ tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
+ new_message = Cow::Owned(
+ c.http
+ .get_message(new_message.channel_id, new_message.id)
+ .await?,
+ );
+ }
+ }
+ for embed in dbg!(new_message.embeds.clone()) {
+ let Some(u) = dbg!(embed.url) else { continue };
if let Some(x) = embed.provider
&& let Some("Tenor") = x.name
&& let Some(x) = retenor(&u).await?