Wie der Titel schon sagt Wenn die URL lang ist und die Vorschau unter der YouTube-URL angezeigt wird, ist die obige Nachricht für diejenigen, die ein Smartphone verwenden, nicht sichtbar. Ich habe diesen BOT gemacht, weil ich dachte, dass es unpraktisch ist. Hergestellt von Python
↑ BOT, wenn die URL in der Nachricht wie dieser enthalten ist, wird sie verkürzt, wenn die Reaktion der unteren Kette gedrückt wird
Ergebnis ↓
import discord
import re
import asyncio
from urllib.parse import urlparse
#Es ist für diesen TOKEN-Test vorgesehen, sodass Sie ihn separat verwenden können.
TOKEN = "NzA2MzQwNTMwMDE5MjM3OTQ0.Xq405w.pwRREjj-8N4MKph3QcV9NGb5EIM"
client = discord.Client()
@client.event
async def on_ready():
print("Bereit")
@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"[Kurze URL]({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)
** Erster **
@client.event
async def on_message(message):
if message.author.bot:
return
#Dies ↑ das ↓
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, message.content)
if url_list != []: #Ob die Liste leer ist
await message.add_reaction("⛓")
return
Dies ist der Ort, der aufgerufen wird, wenn eine Nachricht kommt, und der Favorit ist von diesem ↑ diesem ↓. Das Programm von diesem ↑ diesem ↓ fügt die in der Nachricht enthaltene URL in die Liste ein. Wenn die Liste leer ist, fügen Sie eine Reaktion hinzu. Der URL-Typ 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/ Siehe ... Nein, tut mir leid.
Der Zweite
@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
#Dies ↑ das ↓
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"[Kurze URL]({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
Wo es ein Programm gibt, um eine verkürzte URL zu senden. Wird aufgerufen, wenn eine Reaktion angehängt ist. Der Favorit kommt von dem Ort, an dem dieses ↑ dieses ↓ geschrieben steht Davor derjenige, der bestimmt, ob die Reaktion eine Kette ist Danach ↑ dies ↓
pattern = "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
url_list = re.findall(pattern, s)
url_list[0]
#Dies ↑ das ↓
mes = s.strip(url_list[0])#URL aus Nachricht übernehmen
parsed_url = urlparse(url_list[0])#Entfernen Sie das Extra aus der URL
site = '{uri.scheme}://{uri.netloc}/'.format(uri=urlparse(url_list[0]))
Ist fast das gleiche wie das, was ich im ersten gemacht habe Nehmen Sie danach ↑ this ↓ die URL aus der Nachricht und entfernen Sie das Unnötige aus der URL. Derjenige, der das Extra aus der URL entfernt https://www.python.ambitious-engineer.com/archives/35 Beziehen auf ...
embed = discord.Embed(title=f"{mes}",
description=f"[Kurze URL]({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)
Dies ist derjenige, der den verkürzten mit Einbettung sendet
Damit ist der Vorgang abgeschlossen
Hmm kann mir nicht vorstellen
das Ende
Recommended Posts