为什么在不和谐服务器中,反应从未激活on_raw_reaction_add

时间:2018-12-29 00:04:43

标签: python discord.py

我正在编写一个discord机器人,每当您对某条消息作出反应时,该机器人便会将您的名字添加到列表中。由于这些消息可能会长期处于混乱状态,而我的混乱机器人会不时重启,因此我决定使用discord.on_raw_reaction_add(payload)而不是discord.on_reaction_add(reaction, user)。这样可以防止消息不在缓存中时功能无法激活。

我的问题是,使用与discord.on_reaction_add(reaction, user)相同的代码,discord.on_raw_reaction_add(payload)未激活。

这都是我的代码的简化示例。如果您使用令牌运行它并对(新)消息做出反应,您将看到第二个示例不显示“已添加反应”。

工作版本:(带有on_reaction_add)

import discord


client = discord.Client()


@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')


@client.event
async def on_reaction_add(reaction, user):
    print('reaction added')


client.run('TOKEN')

残破的版本:(带有on_raw_reaction_add)     导入不和谐

client = discord.Client()


@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')


@client.event
async def on_raw_reaction_add(payload):
    print('reaction added')


client.run('TOKEN')

我尝试对旧消息和新消息添加反应。他们都没有给出预期的“增加反应”响应。

0 个答案:

没有答案