在编写不和谐的bot时,我意识到我需要阅读该bot传达给不同用户的反应。
代码:
@client.event
async def on_reaction_add(reaction, user):
channel = reaction.message.channel
await channel.send('{} has added {} to the message: {}'.format(user.name, reaction.emoji, reaction.message.content))
基本上是从机器人所在的任何渠道(例如,公会)读取一条消息,而不是DM渠道。有解决办法吗?
预先感谢
答案 0 :(得分:0)
我刚刚才意识到这一点,所以我将其添加为答案。
您只需使用isinstance
来检查通道类型,因为dpy对于所有通道都具有不同的内部类。
@bot.event
async def on_reaction_add(reaction, user):
if not isinstance(reaction.message.channel, discord.DMChannel):
# Not a dm
return
print("Hey this should be a dm")
该代码只能在dms中运行。
或者,您可以删除not
并将dm代码放在if
语句中