Il semble pratique de pouvoir produire une image immédiatement comme un tampon LINE. Je l'ai fait parce que je pensais
1 Commencez par enregistrer l'image
2 Insérez le nom utilisé lors de l'enregistrement! Dans le message à envoyer. Ensuite, l'image est envoyée.
Pour supprimer l'image enregistrée, faites s! Suppr [nom]
#coding=utf-8
import discord
import re
import os
import glob
client = discord.Client()
@client.event
async def on_ready():
print('Connecté')
@client.event
async def on_message(message):
if message.author.bot:
return
word = re.compile("s!add (.+)").search(message.content)
if word:
wo = word.group(1)
await message.channel.send("mise en place...")
picu = message.attachments[0].url
file = str(message.guild.id) + "/" + wo + ".txt"
try:
os.mkdir(f"./{str(message.guild.id)}")
except FileExistsError:
pass
with open(file, mode='w') as f:
f.write(str(picu))
await message.channel.send("Ajout d'un tampon.")
f.close()
return
wordd = re.compile("s!del (.+)").search(message.content)
if wordd:
woo = wordd.group(1)
file = str(message.guild.id) + "/" + woo + ".txt"
if (os.path.exists(file)):
await message.channel.send("Suppression...")
os.remove(file)
await message.channel.send("Le cachet a été supprimé.")
else:
await message.channel.send("Le timbre n'a pas été trouvé.")
return
pe = re.compile('s!list (.+)').search(message.content)
if pe:
casfo = glob.glob(str(message.guild.id) + "/*")
nopas = str(message.guild.id)
lis = []
for file in casfo: #Liste des fichiers
prii = file.lstrip(nopas)
pri = prii.rstrip(".txt")
pr = pri.rstrip("/")
p = pr.lstrip("\\")
lis.append(p)
pa = int(pe.group(1))
no = len(lis)
embed = discord.Embed(title="Liste des timbres", description=f"{str(pa)}Page de la page\n Nombre de timbres:{len(lis)}", color=0x4682b4)
c = 0
cc = 0
if pa > 1:
ccc = pa*10
c = ccc - 10
while True:
try:
naiy = lis[c]
except:
if pa == 1:
await message.channel.send("Il n'y a pas encore de timbre.")
return
await message.channel.send(f"{str(pa)}Il n'y a pas encore de page")
return
c = c + 1
embed.add_field(name=str(c), value=naiy)
if c == pa * 10:
await message.channel.send(embed=embed)
return
if c == len(lis):
break
await message.channel.send(embed=embed)
return
s = message.content
if s.count("!") == 2:
x = s.find("!")
y = s.find("!", x+2)
sta = s[x + 1 : y]
if sta == None:
return
pas = str(message.guild.id) + "/" + sta + ".txt"
if os.path.exists(pas) == False:
return
with open(pas) as f:
url = f.read()
f.close()
await message.channel.send(url)
return
print('de liaison...')
#Parce que c'est TOKEN pour le test, il peut fuir
client.run("NzA2MzQwNTMwMDE5MjM3OTQ0.Xq405w.pwRREjj-8N4MKph3QcV9NGb5EIM")
C'est très long car je n'ai pas le vocabulaire (?) Du code.
Lors de l'enregistrement d'images, créez un dossier avec l'ID du serveur et Créez simplement un fichier texte dans lequel l'URL de l'image est écrite avec le nom de l'image. Que se passe-t-il lorsque vous envoyez un timbre S'il y en a deux!, Vérifiez le texte entre les deux!. Ensuite, lisez le fichier texte avec le nom de la phrase entre! Dans le dossier de cet ID de serveur. Envoyez l'URL de l'image qu'il contient. Achevée
Explication de la chose la plus importante dans ce programme ↑ ceci ↓ Celui qui examine le texte entre les deux!
s = message.content #Parce que c'est long, mettez-le en s
if s.count("!") == 2:
x = s.find("!")
y = s.find("!", x+2)
sta = s[x + 1 : y]
if sta == None:
return
pas = str(message.guild.id) + "/" + sta + ".txt"
if os.path.exists(pas) == False:
return
with open(pas) as f:
url = f.read()
f.close()
await message.channel.send(url)
return
Dans le message! La partie pour rechercher les deux et le nom entouré par eux.
Comment ça fonctionne: 1 Premièrement, si s.count ("!") == 2: Vérifiez s'il y en a deux! 2 Trouvez le nombre de premier! Et second! Emplacements avec x = s.find ("1") et y = s.find ("!", X + 2). 3 Examinez les personnages dans la zone entourée de! At sta = s [x + 1: y] 4 Si sta == Aucun: confirmez qu'il n'est pas vide 5 pas = str(message.guild.id) + "/" + sta + ".txt" Est le chemin du fichier texte où l'URL de l'image enregistrée est enregistrée 6 if os.path.exists(pas) == False: Vérifiez si le fichier avec le chemin 5 existe 7 with open(pas) as f: Lisez le contenu du fichier texte avec 5 chemins et envoyez-le
Je ne peux pas y penser la fin
Recommended Posts