En tant que prémisse majeure, cela peut être un peu difficile sans une connaissance de base de python (** if statement **?) Pas du tout! ~~ Python, qu'est-ce que c'est délicieux? Je pense que les gens peuvent comprendre en quelque sorte en étudiant un peu sur le site suivant. Je suis moi-même un débutant, donc je ne le comprends pas parfaitement, je ne sais pas si ça marche comme ça, mais je vais le laisser comme un mémorandum. Eh bien, je veux faire un bot Janken pour le moment! Veuillez copier et déplacer la personne de manière appropriée
Nous partirons du principe que python et discord.py fonctionneront dans votre éditeur Ça ne marche pas! Veuillez le faire fonctionner en vous basant sur les articles publiés par d'autres personnes. Pas spécifiquement expliqué dans cet article
Passons au sujet principal
En conclusion, si vous copiez ce code, cela fonctionnera, ~~ peut-être ~~
JankenBot
import discord
import random
client = discord.Client()
@client.event
async def on_message(message):
"""Traitez le message suivant"""
global result, judge
if message.author.bot: #Évitez les messages des bots
return
if message.content == "!! Janken":
await message.channel.send("Au début, goo, Janken")
jkbot = random.choice(("Goo", "Choki", "Par"))
draw = "C'est un tirage au sort ~"
wn = "Vous gagnez!"
lst = random.choice(("Ma victoire! Faible wwwwwwwwwwww Que faire si j'arrête? Janken",
"J'ai gagné(∩´∀`)∩, réessayez!"))
def jankencheck(m):
return (m.author == message.author) and (m.content in ['Goo', 'Choki', 'Par'])
reply = await client.wait_for("message", check=jankencheck)
if reply.content == jkbot:
judge = draw
else:
if reply.content == "Goo":
if jkbot == "Choki":
judge = wn
else:
judge = lst
elif reply.content == "Choki":
if jkbot == "Par":
judge = wn
else:
judge = lst
else:
if jkbot == "Goo":
judge = wn
else:
judge = lst
await message.channel.send(judge)
Eh bien, ça ressemble à ça. Si vous essayez ceci pour le moment
Cela fonctionne comme ça. Creusons un peu plus loin.
Je ne peux donner qu'une explication très simple, mais il n'y a que quelques éléments difficiles à comprendre personnellement. (~~ Le manque de connaissances de l'auteur est révélé ~~)
if message.content == "!! Janken":
await message.channel.send("Au début, goo, Janken")
Tout d'abord dans cette partie **! Janken ** Si entré ** Au début, il est décrit comme renvoyant "Goo, Janken **". Je m'en souviens parce que je l'utilise non seulement pour ce bot Janken mais aussi pour faire autre chose (auto-conseillé)
jkbot = random.choice(("Goo", "Choki", "Par"))
Ici pour ** jkbot **
-Goo --Choki --Par
Chacun d'entre eux sera attribué au hasard.
lst = random.choice(("Ma victoire! Faible wwwwwwwwwwww Que faire si j'arrête? Janken",
"J'ai gagné(∩´∀`)∩, réessayez!"))
Ici, au début, je n'ai écrit que le deuxième message, mais je voulais une stimulation, alors j'ai également randomisé le message perdu en utilisant une fonction aléatoire. Si vous n'en avez pas besoin, remplacez-le normalement par ** wn ** ou ** draw **.
def jankencheck(m):
return (m.author == message.author) and (m.content in ['Goo', 'Choki', 'Par'])
reply = await client.wait_for("message", check=jankencheck)
** dans cette partie! En attente d'un message de la personne qui a lancé Janken **, le message envoyé
-Goo --Choki --Par
Si c'est vrai, continuez avec le code suivant ~~ Honnêtement, je ne comprends pas vraiment cette partie moi-même ~~ Je l'écris comme si c'était quelque chose comme ça.
if reply.content == jkbot:
judge = draw
else:
if reply.content == "Goo":
if jkbot == "Choki":
judge = wn
else:
judge = lst
elif reply.content == "Choki":
if jkbot == "Par":
judge = wn
else:
judge = lst
else:
if jkbot == "Goo":
judge = wn
else:
judge = lst
C’est facile ici, non? Pour être honnête, je n'ai rien à expliquer. ~~ Parce que je ne peux dire que ce que j'ai vu ~~
await message.channel.send(judge)
Cela enverra la dernière valeur attribuée à ** juge **.
Avec cela, il devrait fonctionner comme un bot Janken sans aucun problème ~~ Je veux quelque chose d'un peu plus! Pour les débutants gourmands, j'ai également mis un code qui envoie automatiquement un message au démarrage de Bot. Je suis content du bot Janken car je n'écrirai que le code pour lui et des choses à ce sujet ci-dessous! Je vous remercie pour votre travail acharné! Veuillez commenter si vous en avez.
L'événement au démarrage du Bot
@client.event
async def on_ready():
"""Écrivez le processus qui se produit lorsque le bot démarre"""
Vous pouvez écrire avec. Cette fois, nous ajouterons une fonction pour vous avertir sur Discord lorsque vous démarrez Bot.
Ça ressemble à ça.
Tout d'abord, décidez à quel canal vous voulez que le message soit envoyé et copiez l'ID de ce canal. Si vous ne savez pas comment copier l'ID, veuillez le vérifier vous-même, je l'omettrai.
Après la copie
channel = client.get_channel(ID)
Veuillez réécrire l'ID que vous avez copié précédemment dans la partie ID. Vous pouvez laisser les numéros copiés tels quels
Vous pouvez maintenant spécifier le canal
et enfin
await channel.send("etc") #Veuillez mettre vos phrases préférées dans la partie etc
Si vous écrivez, il sera envoyé automatiquement au démarrage du Bot.
Tout d'abord, merci pour votre travail acharné. Je suis désolé que l'explication ait été difficile à comprendre en raison de ma faible maîtrise du japonais et de mon manque de vocabulaire. : arc:
Puisqu'il s'agit d'un article pour débutants, il peut s'agir d'un code qui vous donne envie de faire diverses réclamations si vous avez des connaissances, mais pardonnez-moi s'il vous plaît. J'ai pu bouger quelque chose même si je ne comprenais pas grand-chose au début, y compris moi-même! Je pense que l'impression est le chemin vers la prochaine étape ...
C'est tout pour cet article. Si vous rencontrez des problèmes ou des erreurs, veuillez contacter Twitter.
Recommended Posts