📜  如何检测对消息 discord.py 的反应 - Python (1)

📅  最后修改于: 2023-12-03 15:38:50.926000             🧑  作者: Mango

如何检测对消息 discord.py 的反应 - Python

在 Discord 中,可以添加反应 (Reaction) 到消息 (Message) 上以表达对该消息的情感或觉得有趣。本文介绍如何使用 discord.py 库检测对消息的反应。

首先,需要导入 discord.py 库。

import discord

接着,我们可以通过创建一个 Bot 对象来连接到 Discord API 并监听事件。

client = discord.Client()

在监听事件时,可以使用 on_reaction_addon_reaction_remove 事件来检测反应的添加和移除。

@client.event
async def on_reaction_add(reaction, user):
    print(f'{user.name} reacted with {reaction.emoji} on message {reaction.message.content}')

@client.event
async def on_reaction_remove(reaction, user):
    print(f'{user.name} removed their reaction {reaction.emoji} from message {reaction.message.content}')

在上面的例子中,我们打印了反应添加或移除的用户名称、反应表情和消息内容。

最后,我们需要使用 run 方法启动 Bot。完整代码如下所示:

import discord

client = discord.Client()

@client.event
async def on_reaction_add(reaction, user):
    print(f'{user.name} reacted with {reaction.emoji} on message {reaction.message.content}')

@client.event
async def on_reaction_remove(reaction, user):
    print(f'{user.name} removed their reaction {reaction.emoji} from message {reaction.message.content}')

client.run('YOUR_DISCORD_BOT_TOKEN')

在上面的代码中,YOUR_DISCORD_BOT_TOKEN 需要替换为你的 Discord 机器人的令牌。该令牌应当具有读取消息历史和添加反应的权限。