[PYTHON] [Discord.py] Une solution pour ceux qui ne parviennent pas à introduire dispandar

introduction

Je suis nouveau sur python. J'ai commencé à apprendre de discord.py. Comme le titre l'indique, pour ceux qui n'aiment pas le disander dans discord.py J'ai partagé un correctif qui fonctionnait bien dans mon environnement. C'est peut-être faux, alors Je vous serais reconnaissant si vous pouviez le signaler dans les commentaires.

Post-scriptum: 04/10/20 14:30 Ce code a de bonnes chances de faire une erreur dans mon environnement. Si cela ne fonctionne pas, considérez-le comme une solution. Je ne peux pas dire si cette méthode est correcte. Comme vous l'avez dit dans les commentaires, je pense que c'est un code qui fonctionne normalement. Cependant, il est publié sur la base du fait qu'il ne fonctionnait pas avec le code Github comitt 789d88f affiché à la fin.

Post-scriptum: 2020/10/04/22: 50 __ J'ai confirmé que cela fonctionne avec le code fourni par une certaine personne. Il est publié dans la dernière partie, alors jetez un œil là-bas. __

Environnement de développement

discord.py: 1.5.0 Heroku dispander: 0.4.0

code

Voici le code pour ** lorsqu'il est utilisé comme fonction ** introduit dans dispander par DiscordBotPortalJP.

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)

Cependant, cela n'a pas fonctionné dans mon environnement. ~~ Probablement, la fonction de configuration des rouages du dispander n'est pas appelée. ~~


Alors Je l'ai changé pour le code ci-dessous.

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

discord.py(Version modifiée)


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)

J'ai écrit ça ...

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

Quelqu'un a fourni le code suivant. Quand je l'ai vérifié dans mon environnement, j'ai confirmé qu'il fonctionnait normalement, alors je l'ai posté.

discord.py(Version mise à jour)


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)

Commentaire

Depuis ~~ Essayez d'utiliser Cog de discord.py (version de réécriture), utilisez la fonction de configuration de cog. J'ai fait l'appel en tant que dispand.setup (bot). De plus, si c'est ʻon_message (message): , il y a un problème que les autres fonctions ne fonctionnent pas, donc il est appelé dans ʻon_ready ():. ~~ dispander

finalement

Invitation du distributeur Lien. Code est disponible sur github. Merci d'avoir lu jusqu'au bout! Si vous avez des erreurs, il y en a eu une au début, mais j'apprécierais que vous puissiez l'écrire dans les commentaires.

Recommended Posts

[Discord.py] Une solution pour ceux qui ne parviennent pas à introduire dispandar
Points ennuyeux pour ceux qui veulent présenter Ansible
Procédure d'inscription PyPI pour ceux qui veulent faire leurs débuts PyPI
Un mémo pour ceux qui veulent une communication de socket rapide avec netcat
Une note à ceux qui utilisent Python dans Visual Studio (moi)
AWS ~ Pour ceux qui l'utiliseront ~