[PYTHON] [Discord.py] Eine Lösung für diejenigen, die dispandar nicht erfolgreich einführen können

Einführung

Ich bin neu in Python. Ich fing an von discord.py zu lernen. Wie der Titel schon sagt, für diejenigen, die den Dispandar in discord.py nicht mögen Ich habe einen Fix geteilt, der in meiner Umgebung gut funktioniert hat. Es kann also falsch sein Ich würde mich freuen, wenn Sie es in den Kommentaren melden könnten.

Nachtrag: 2020/10/04 14:30 Dieser Code hat eine gute Chance, in meiner Umgebung einen Fehler zu machen. Wenn es nicht funktioniert, stellen Sie es sich als eine Lösung vor. Ich kann nicht sagen, ob diese Methode korrekt ist. Wie Sie in den Kommentaren gesagt haben, denke ich, dass es Code ist, der normal funktioniert. Es wird jedoch basierend auf der Tatsache veröffentlicht, dass es mit dem am Ende gezeigten Github-Code comitt 789d88f nicht funktioniert hat.

Nachtrag: 2020/10/04/22: 50 __ Ich habe bestätigt, dass es mit dem von einer bestimmten Person bereitgestellten Code funktioniert. Es ist im letzten Teil veröffentlicht, also schauen Sie bitte dort. __ __

Entwicklungsumgebung

discord.py: 1.5.0 Heroku dispander: 0.4.0

Code

Das Folgende ist der Code für ** bei Verwendung als Funktion **, der in dispander von DiscordBotPortalJP eingeführt wurde.

root/  ├ dispander/  │ ├ __init__.py  │ └ module.py  └ discordbot.py

samplebot.py


import discord
from dispander import dispand
client = discord.Client()

@client.event
async def on_message(message):
    if message.author.bot:
        return
    await dispand(message)

client.run(token)

In meiner Umgebung hat es jedoch nicht funktioniert. ~~ Wahrscheinlich wird die Zahnrad-Setup-Funktion des "Dispanders" nicht aufgerufen. ~~


Damit Ich habe es in den folgenden Code geändert.

root/  ├ dispander/  │ └ module.py  └ discordbot.py

discord.py(Geänderte Version)


import discord
import dispander.module as dispand

bot = discord.Client()
@bot.event
async def on_ready():
    dispand.setup(bot)
    await dispand(message)

bot.run(token)

Ich habe das geschrieben ...

root/  ├ dispander/  │ └ module.py  └ discordbot.py

Jemand hat den folgenden Code angegeben. Als ich es in meiner Umgebung überprüft habe, habe ich bestätigt, dass es normal funktioniert, also habe ich es veröffentlicht.

discord.py(aktualisierte Version)


import os
import re
import discord
from dispander.module import dispand
from discord.ext import commands
client = discord.Client()

@client.event
async def on_message(message):
    if message.author.bot:
        return
    await dispand(message)

client.run(token)

Kommentar

Verwenden Sie unter ~~ Verwenden Sie Cog von discord.py (Rewrite-Version) die Funktion "Cog Setup". Ich habe den Anruf als "dispand.setup (bot)" getätigt. Wenn es sich um "on_message (message):" handelt, gibt es ein Problem, dass andere Funktionen nicht funktionieren. Daher wird es in "on_ready ():" aufgerufen. ~~ dispander

Schließlich

Dispanser-Einladung Link. Code ist auf github verfügbar. Vielen Dank für das Lesen bis zum Ende! Wenn Sie Fehler haben, habe ich sie am Anfang erwähnt, aber ich würde es begrüßen, wenn Sie sie in die Kommentare schreiben könnten.

Recommended Posts

[Discord.py] Eine Lösung für diejenigen, die dispandar nicht erfolgreich einführen können
Ärgerliche Punkte für diejenigen, die Ansible vorstellen möchten
PyPI-Registrierungsverfahren für diejenigen, die ihr PyPI-Debüt geben möchten
Ein Memo für diejenigen, die eine schnelle Socket-Kommunikation mit Netcat wünschen
Ein Hinweis für diejenigen, die Python in Visual Studio verwenden (ich)
AWS ~ Für diejenigen, die es verwenden werden ~