Comme le dit le titre Lorsque l'URL est longue, lorsque l'aperçu est affiché à l'URL YouTube, le message ci-dessus ne sera pas visible pour ceux qui utilisent un smartphone. J'ai créé ce BOT parce que je pensais que ce n'était pas pratique. Fabriqué par Python
↑ BOT que lorsque l'URL est incluse dans le message comme ceci, elle sera raccourcie si la réaction de la chaîne inférieure est pressée
Résultat ↓
import discord
import re
import asyncio
from urllib.parse import urlparse
#C'est pour ce test TOKEN, vous pouvez donc l'utiliser séparément.
TOKEN = "NzA2MzQwNTMwMDE5MjM3OTQ0.Xq405w.pwRREjj-8N4MKph3QcV9NGb5EIM"
client = discord.Client()
@client.event
async def on_ready():
print("Prêt")
@client.event
async def on_message(message):
if message.author.bot:
return
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, message.content)
if url_list != []:
await message.add_reaction("⛓")
return
@client.event
async def on_reaction_add(reaction, user):
channel = client.get_channel(reaction.message.channel.id)
if reaction.count >= 2 and reaction.emoji == "⛓":
if reaction.count >= 3:
pass
else:
s = reaction.message.content
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, s)
url_list[0]
mes = s.strip(url_list[0])
parsed_url = urlparse(url_list[0])
site = '{uri.scheme}://{uri.netloc}/'.format(uri=urlparse(url_list[0]))
embed = discord.Embed(title=f"{mes}",
description=f"[URL courte]({url_list[0]})",
color=0x87cefa)
embed.set_author(name=reaction.message.author.display_name,
icon_url=reaction.message.author.avatar_url_as(format="png"))
embed.set_footer(text=f"{site}")
await channel.send(embed=embed)
return
client.run(TOKEN)
** Premier **
@client.event
async def on_message(message):
if message.author.bot:
return
#Ce ↑ ce ↓
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, message.content)
if url_list != []: #Si la liste est vide
await message.add_reaction("⛓")
return
C'est l'endroit qui est appelé quand un message arrive, et le favori est de ce ↑ this ↓. Le programme de ce ↑ this ↓ place l'URL incluse dans le message dans la liste. Si la liste est vide, ajoutez une réaction. Le gars de l'URL http://trelab.info/python/python-%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%A7url%E3%81%AE%E4%B8%80%E8%87%B4%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%80%81%E6%8A%BD%E5%87%BA%E3%82%92%E8%A1%8C%E3%81%86/ Reportez-vous à ... Non, je suis désolé.
La deuxième
@client.event
async def on_reaction_add(reaction, user):
channel = client.get_channel(reaction.message.channel.id)
if reaction.count >= 2 and reaction.emoji == "⛓":
if reaction.count >= 3:
pass
else:
s = reaction.message.content
#Ce ↑ ce ↓
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, s)
url_list[0]
mes = s.strip(url_list[0])
parsed_url = urlparse(url_list[0])
site = '{uri.scheme}://{uri.netloc}/'.format(uri=urlparse(url_list[0]))
embed = discord.Embed(title=f"{mes}",
description=f"[URL courte]({url_list[0]})",
color=0x87cefa)
embed.set_author(name=reaction.message.author.display_name,
icon_url=reaction.message.author.avatar_url_as(format="png"))
embed.set_footer(text=f"{site}")
await channel.send(embed=embed)
return
Où il existe un programme pour envoyer une URL raccourcie. Appelé lorsqu'une réaction est jointe. Le favori vient de l'endroit où cette ↑ cette ↓ est écrite Avant cela, celui qui détermine si la réaction est une chaîne Après cela ↑ ce ↓
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, s)
url_list[0]
#Ce ↑ ce ↓
mes = s.strip(url_list[0])#Prendre l'URL du message
parsed_url = urlparse(url_list[0])#Supprimer le supplément de l'URL
site = '{uri.scheme}://{uri.netloc}/'.format(uri=urlparse(url_list[0]))
Est presque le même que celui que j'ai fait dans le premier Après cela ↑ ce ↓, prenez l'URL du message et supprimez le inutile de l'URL. Celui qui supprime le supplément de l'URL https://www.python.ambitious-engineer.com/archives/35 Faire référence à ...
embed = discord.Embed(title=f"{mes}",
description=f"[URL courte]({url_list[0]})",
color=0x87cefa)
embed.set_author(name=reaction.message.author.display_name,
icon_url=reaction.message.author.avatar_url_as(format="png"))
embed.set_footer(text=f"{site}")
await channel.send(embed=embed)
C'est celui qui envoie le raccourci avec embed
Ceci complète
Hmm ne peut pas penser
la fin
Recommended Posts