Als Grundvoraussetzung kann es ohne Grundkenntnisse in Python etwas schwierig sein (** if-Anweisung **?) Überhaupt nicht! ~~ Python? Was ist es lecker? Ich denke, dass die Leute es irgendwie verstehen können, wenn sie an der folgenden Stelle ein wenig studieren. Ich bin selbst Anfänger, daher verstehe ich es nicht perfekt. Ich weiß nicht, ob es so funktioniert, aber ich werde es als Memorandum belassen. Nun, ich möchte vorerst einen Janken-Bot machen! Bitte kopieren und verschieben Sie die Person entsprechend
Wir gehen davon aus, dass python und discord.py in Ihrem Editor funktionieren Es funktioniert nicht! Bitte lassen Sie es basierend auf den Artikeln funktionieren, die von anderen Personen gepostet wurden. In diesem Artikel nicht speziell erklärt
Gehen wir zum Hauptthema
Wenn Sie diesen Code kopieren, funktioniert er abschließend, ~~ vielleicht ~~
JankenBot
import discord
import random
client = discord.Client()
@client.event
async def on_message(message):
"""Verarbeiten Sie die folgende Nachricht"""
global result, judge
if message.author.bot: #Vermeiden Sie Nachrichten von Bots
return
if message.content == "!! Janken":
await message.channel.send("Zuerst goo, Janken")
jkbot = random.choice(("Schmiere", "Choki", "Par"))
draw = "Es ist ein Unentschieden ~"
wn = "Du gewinnst!"
lst = random.choice(("Mein Gewinn! Schwach wwwwwwwwwwww Was ist, wenn ich aufhöre? Janken",
"ich habe gewonnen(∩´∀`)∩, versuche es erneut!"))
def jankencheck(m):
return (m.author == message.author) and (m.content in ['Schmiere', 'Choki', 'Par'])
reply = await client.wait_for("message", check=jankencheck)
if reply.content == jkbot:
judge = draw
else:
if reply.content == "Schmiere":
if jkbot == "Choki":
judge = wn
else:
judge = lst
elif reply.content == "Choki":
if jkbot == "Par":
judge = wn
else:
judge = lst
else:
if jkbot == "Schmiere":
judge = wn
else:
judge = lst
await message.channel.send(judge)
Nun, es sieht so aus. Wenn Sie dies vorerst versuchen
Es funktioniert so. Lassen Sie uns etwas tiefer graben.
Ich kann nur eine wirklich einfache Erklärung geben, aber es gibt nur wenige Dinge, die persönlich schwer zu verstehen sind. (~~ Der Mangel an Wissen des Autors wird aufgedeckt ~~)
if message.content == "!! Janken":
await message.channel.send("Zuerst goo, Janken")
Zunächst in diesem Teil **! Janken ** Wenn eingegeben ** Zunächst wird es als "Goo, Janken **" zurückgegeben. Ich erinnere mich daran, weil ich es nicht nur für diesen Janken-Bot benutze, sondern auch, um etwas anderes zu machen (Selbstdisziplin)
jkbot = random.choice(("Schmiere", "Choki", "Par"))
Hier zu ** jkbot **
--Schmiere
Jeder von ihnen wird nach dem Zufallsprinzip zugewiesen.
lst = random.choice(("Mein Gewinn! Schwach wwwwwwwwwwww Was ist, wenn ich aufhöre? Janken",
"ich habe gewonnen(∩´∀`)∩, versuche es erneut!"))
Hier habe ich zunächst irgendwie nur die zweite Nachricht geschrieben, aber ich wollte eine Stimulation, also habe ich auch die verlorene Nachricht mithilfe einer Zufallsfunktion randomisiert. Wenn Sie es nicht benötigen, ersetzen Sie es normalerweise wie ** wn ** oder ** draw **.
def jankencheck(m):
return (m.author == message.author) and (m.content in ['Schmiere', 'Choki', 'Par'])
reply = await client.wait_for("message", check=jankencheck)
In diesem Teil **! Warten auf eine Nachricht von der Person, die Janken ** gestartet hat, die gesendete Nachricht
--Schmiere
Wenn dies der Fall ist, fahren Sie mit dem folgenden Code fort ~~ Ehrlich gesagt verstehe ich diesen Teil selbst nicht wirklich ~~ Ich schreibe es so, als ob es so etwas wäre.
if reply.content == jkbot:
judge = draw
else:
if reply.content == "Schmiere":
if jkbot == "Choki":
judge = wn
else:
judge = lst
elif reply.content == "Choki":
if jkbot == "Par":
judge = wn
else:
judge = lst
else:
if jkbot == "Schmiere":
judge = wn
else:
judge = lst
Hier ist es einfach, oder? Um ehrlich zu sein, habe ich nichts zu erklären. ~~ Weil ich nur sagen kann, was ich gesehen habe ~~
await message.channel.send(judge)
Dies sendet den letzten Wert, der ** Richter ** zugewiesen wurde.
Damit sollte es problemlos als Janken-Bot funktionieren ~~ Ich will etwas mehr! Für gierige Anfänger habe ich auch einen Code eingefügt, der automatisch eine Nachricht sendet, wenn Bot startet. Ich bin mit dem Janken-Bot zufrieden, weil ich nur den Code dafür und die Dinge darüber unten schreibe! Danke für deine harte Arbeit! Bitte kommentieren Sie, wenn Sie welche haben.
Das Ereignis, wenn Bot startet
@client.event
async def on_ready():
"""Schreiben Sie den Prozess, der beim Starten des Bots auftritt"""
Sie können mit schreiben. Dieses Mal werden wir eine Funktion hinzufügen, die Sie über Discord benachrichtigt, wenn Sie Bot starten.
Es sieht aus wie das.
Entscheiden Sie zunächst, an welchen Kanal die Nachricht gesendet werden soll, und kopieren Sie die ID dieses Kanals. Wenn Sie nicht wissen, wie Sie die ID kopieren sollen, überprüfen Sie sie bitte selbst. Ich werde sie weglassen.
Nach dem Kopieren
channel = client.get_channel(ID)
Bitte schreiben Sie die ID, die Sie zuvor im ID-Teil kopiert haben, neu. Sie können die kopierten Nummern unverändert lassen
Jetzt können Sie den Kanal angeben
Und schlussendlich
await channel.send("etc") #Bitte setzen Sie Ihre Lieblingssätze in den etc-Teil
Wenn Sie schreiben, wird es automatisch gesendet, wenn der Bot startet.
Zunächst einmal vielen Dank für Ihre harte Arbeit. Es tut mir leid, dass die Erklärung aufgrund meiner geringen Japanischkenntnisse und des fehlenden Wortschatzes möglicherweise schwer zu verstehen war. : Bogen:
Da dies ein Artikel für Anfänger ist, kann es ein Code sein, der Sie dazu bringt, verschiedene Beschwerden einzureichen, wenn Sie etwas Wissen haben, aber bitte verzeihen Sie mir. Ich konnte etwas bewegen, auch wenn ich anfangs nicht viel verstand, auch mich selbst! Ich denke, dass der Eindruck der Weg zum nächsten Schritt ist ...
Das ist alles für diesen Artikel. Wenn Sie Probleme oder Fehler haben, wenden Sie sich bitte an Twitter.