-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ajout d'un check pour media.discordapp.com #182
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello ! merci pour la PR :)
- Il faudrait que ca ne fonctionne uniquement dans le salon "memes"
- Je serai d'avis de renvoyer que les liens après, sans supprimer le message ; plutôt que de renvoyer tout le message en supprimant l'original. Il renverrait les liens dans une réponse au message originel, sans mention
Ca résout le pb des nitros qui peuvent envoyer un message de 2k+ caractères, mais le bot qui est limité à ≤2k.
Comment faire ca :
- Utiliser ce regex =
/https?:\/\/media\.discordapp\.net\/attachments\/\d{17,18}\/\S+\.\S+/gimu
qui match un lien media.discordapp.net complet - utiliser
const occurrences = message.content.match(leRegex)
qui renvoie un array de toutes les occurrences - utiliser
const transformedLinks = occurrences.map(link => link.replace('media.discordapp.net', 'cdn.discordapp.com'))
- Le bot envoie une réponse qui dit (en gros)
**username** : les liens media.discordapp.net c'est a chier, voici les liens cdn.discordapp.com :
transformedLinks.join('\n')
SI c'est trop et t'as la flemme de le faire, je peux terminer la PR stv, ca devrait être rapide !
@@ -92,6 +93,14 @@ export default class MessageCreateListener extends Listener { | |||
return false; | |||
} | |||
|
|||
private async _checkMediaDiscordapp(message: GuildMessage): Promise<boolean> { | |||
if (!/media\.discordapp\.net+/.test(message.content)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (!/media\.discordapp\.net+/.test(message.content)) | |
if (!message.content.includes('media.discordapp.net')) |
private async _checkMediaDiscordapp(message: GuildMessage): Promise<boolean> { | ||
if (!/media\.discordapp\.net+/.test(message.content)) | ||
return false; | ||
await message.channel.send(message.content.replace(/media\.discordapp\.net+/, 'cdn.discordapp.com')); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
await message.channel.send(message.content.replace(/media\.discordapp\.net+/, 'cdn.discordapp.com')); | |
await message.channel.send(message.content.replace(/media\.discordapp\.net/, 'cdn.discordapp.com')); |
Le +
en regex veut dire "ce qu'il y a avant (ici un "t"), 1 ou plusieurs fois" 😄 Donc la ca matchait ---.net mais aussi ---.netttt :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stylé stylé, je le fais quand j'suis chez oim.
Hello @kumakuma215 ! |
Haha tkt j'étais juste allé chercher du lait ^^. Non sinon j'pense pas avoir le temps de faire la PR je vous laisse le relai mdr, (pas le temps + flemme + ratio + cope + seethe) |
En gros, dès que quelqu'un poste un message qui contient media.discordapp.net, ça va automatiquement supprimer ce message et le renvoyer en remplaçant media.discordapp.net par cdn.discordapp.com. Je sais pas du tout si ça marche mdrrr j'ai pas testé mais ça devrait marcher