Ein Memorandum, das den Discord-Bot erstellt hat
Aus irgendeinem Grund wollte ich einen Discord-Bot erstellen, also ein Memorandum verschiedener Aktionen aus der Bot-Erstellung Ich wollte etwas anderes als Slackbot ausprobieren
Die Artikelbeschreibung lautet wie folgt
Discord ist eine kostenlose Sprachanruf- / VoIP-Software. (Aus Wikipedia)
Ich habe es schon mehrmals wie Slack benutzt
Da es in Slack einen Bot gibt, dachte ich, dass Discord auch ... und ich habe es nachgeschlagen, aber es war auch in Discord, also habe ich versucht, es zu machen
Erstellt von Zwietrachtentwickler
Klicken Sie auf der Seite Anwendungen auf Neue Anwendung
Sie werden nach dem Bot-Namen gefragt, geben Sie ihm also Ihren Lieblings-Bot-Namen
Öffnen Sie die Bot-Seite und klicken Sie auf die Schaltfläche Bot hinzufügen Klicken Sie auf Ja, machen Sie es!
Der erstellte Bot wird angezeigt Sie können auch das Symbol und den Namen ändern
Die Module sind wie folgt Bitte bei Bedarf installieren
pip install discord #Erforderlich bei Verwendung von Zwietracht
Die Verzeichnisstruktur ist wie folgt
- dis_python
- img
- good.png
-dis_test.py
discord.py Es wurden viele Dinge geschrieben. Es macht Spaß, gründlich zu untersuchen, was Sie tun möchten
dis_test.py
import discord
TOKEN = "Fügen Sie die Marke des Bots ein"
client = discord.Client()
GOOD_IMG = "./img/good.PNG"
###Liste der Ereignishandler#################################################
#Nur eine Änderung nach async def ändert das ausgeführte Ereignis
#Ausführen, wenn eine Nachricht empfangen wird: Ein_message(message)
#Ausführen, wenn Bot startet: Ein_ready(message)
#Beim Hinzufügen einer Reaktion ausführen: on_reaction_add(reaction, user)
#Ausführen, wenn ein neues Mitglied beitritt: on_member_join(member)
#Zum Sprachkanal ein- / ausfahren: ein_voice_state_update(member, before, after)
###################################################################
#Bot-Startverarbeitung
@client.event
async def on_ready():
channel = client.get_channel(Fügen Sie die Kanal-ID ein)
await channel.send("Hallo! wie gehts?")
#Beim Empfang einer Nachricht
@client.event
async def on_message(message):
#Ignorieren Sie, wenn der Absender ein Bot ist
if message.author.bot:
return
if message.content.startswith("Hallo"):
await message.channel.send("Hallo!")
if len(message.attachments) > 0:
await message.channel.send("Hast du irgendwelche Dateien gesendet? ?? ??")
@client.event
async def on_reaction_add(reaction, user):
await reaction.message.channel.send('{}Hast du gedrückt? ??'.format(reaction.emoji), file=discord.File(GOOD_IMG))
client.run(TOKEN)
Ich werde die detaillierte Erklärung beim nächsten Mal zusammenfassen ...
Verwenden Sie den von Ihnen verwendeten TOKEN und die Kanal-ID Die Kanal-ID lautet "Numbers 2" am Ende der URL
: //discordapp.com/channels/ Numbers 1 / Numbers 2
Die Ereignishandlerliste fasst zusammen, was Sie möglicherweise verwenden Insbesondere wird on_message () häufig verwendet.
Befehlszeile
Spiel mit dem Bot
Ich habe versucht, es vorerst zusammenzufassen
Der Inhalt des Dokuments ist tiefgreifend, daher möchte ich ihn beim nächsten Mal umdrehen. Insbesondere die Dateioperation mit on_message war unerwartet problematisch, daher habe ich ein Memorandum darüber erstellt (˘ω˘).
Recommended Posts