【Discord.py】dispander를 잘 도입할 수 없는 분에게 한 해결안
6175 단어 파이썬디스코드㎢ 분말 rd. py
소개
나는 파이썬 초보자입니다. discord.py에서 배우기 시작했습니다.
제목에서 볼 수 있듯이 discord.py의 dispander가 작동하지 않는 사람들을 위해
제 환경에서 잘 작동한 수정안에 대해 공유한 대로입니다. 잘못되었을 수도 있으므로,
코멘트에서 보고 주시면 좋겠습니다.
추가: 2020/10/04 14:30
이 코드는 내 환경에서 실수 가능성이 충분합니다.
움직이지 않았다면 한 가지 해결책이라고 생각해 주시면 좋겠습니다.
이 방법이 옳은지 판단하는 것은 나에게는 불가능합니다.
코멘트로 말씀하신대로, 통상 움직이는 코드라고 생각합니다.
다만, 마지막에 나타내는 Github의 코드 commit 789d88f 로 움직이지 않았던 것을 근거로 공개하고 있습니다.
추가: 2020/10/04/22:50
어떤 분으로부터 제시해 주신 코드로 동작하는 것을 확인했습니다. 마지막 부분에 실어 있기 때문에, 그쪽을 보실 수 있으면이라고 생각합니다.
개발 환경
discord.py: 1.5.0
Heroku
dispander: 0.4.0
코드
아래는 DiscordBotPortalJP의 dispander에서 소개된 함수로 사용하는 경우의 코드입니다.
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)
그러나 내 환경에서는 어떻게 움직이지 않았다.
아마도
dispander
의 cogのsetup関数
가 호출되지 않은 것 같습니다.그러므로
아래 코드로 변경했습니다.
root/
├ dispander/
│ └ module.py
└ discordbot.py
discord.py (변형 버전)
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)
라고 쓴 것입니다만…
root/
├ dispander/
│ └ module.py
└ discordbot.py
어떤 분으로부터 아래의 코드를 제시해 주셨습니다.
나의 환경에서 확인한 곳 통상대로 움직이는 것을 확인했으므로 올려 주셨습니다.
discord.py (업데이트 버전)
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)
해설
discord.py (Rewrite 버전)의 Cog를 사용해보십시오. 보다,
cogのsetup関数
dispand.setup(bot)
로 호출했습니다. 또, on_message(message):
그러면, 다른 함수가 동작하지 않는다고 하는 불편이 발생했기 때문에, on_ready():
내에서 호출하고 있습니다.마지막으로
Dispanser 초대 링크입니다. github에서 코드은 공개되었습니다.
끝까지 읽어 주셔서 감사합니다!
실수 등 있으시면 처음에도 있었습니다만, 코멘트등으로 써 주시면 좋겠습니다…
Reference
이 문제에 관하여(【Discord.py】dispander를 잘 도입할 수 없는 분에게 한 해결안), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/RTa-technology/items/e34d161efc7b93331240텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)