如何解决如何在discord.py中测试事件
让我们说on_member_join事件
@commands.Cog.listener()
async def on_member_join(self,member):
# On member joins we find a channel called general and if it exists,# send an embed welcoming them to our guild
channel = discord.utils.get(member.guild.text_channels,name="welcome")
if channel:
embed = discord.Embed(
description="Welcome to our guild!",color=random.choice(self.bot.color_list),)
embed.set_thumbnail(url=member.avatar_url)
embed.set_author(name=member.name,icon_url=member.avatar_url)
embed.set_footer(text=member.guild,icon_url=member.guild.icon_url)
embed.timestamp = datetime.datetime.utcnow()
await channel.send(embed=embed)
这是我的事件(我知道它可以正常工作),我如何以任何方式测试它以执行发出事件的命令(不是通过添加和删除人员来手动进行)?
[类似于.emit on_member_join @user,其中arg1是事件,如果需要,则arg2是提及或通道的ID
对此有任何命令吗?
类似Discord.js: Manually triggering events,但在discord.py中不是JavaScript
解决方法
目前,discord.py api中没有官方支持来执行类似操作,但是您始终可以在齿轮中执行以下命令:
@commands.command()
async def test_join(self,ctx,member: discord.Member):
await self.on_member_join(member)
从技术上讲,有一种方法可能没有记录...
here中的第131行。我不会为此提供额外的支持,因为它没有记录。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。