在Discord.py中,可以使用on_reaction_add
事件来监听当有用户给消息添加反应时触发的事件。为了让on_reaction_add
只在机器人的消息被响应时触发,可以在事件处理函数中添加一些条件判断。
下面是一个示例代码:
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.reactions = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print('Bot is ready.')
@bot.event
async def on_reaction_add(reaction, user):
# 判断消息是否来自机器人
if user.bot:
return
# 判断消息是否来自机器人发送的消息
if reaction.message.author != bot.user:
return
# 在这里编写你想要执行的代码
print(f'Reaction {reaction.emoji} added to bot message.')
bot.run('YOUR_BOT_TOKEN')
在上面的代码中,我们首先创建了一个Intents
对象,并将reactions
属性设置为True
,以便启用对反应的监听。然后创建了一个Bot
实例,并传入了这个Intents
对象。
在on_reaction_add
事件处理函数中,我们首先判断触发事件的用户是否为机器人本身,如果是,则直接返回。然后判断消息是否来自机器人发送的消息,如果不是,则直接返回。最后,你可以在这个条件判断之后编写你想要执行的代码。
请注意,上述代码中的YOUR_BOT_TOKEN
需要替换为你自己的机器人令牌。
这样,on_reaction_add
事件就只会在机器人的消息被响应时触发了。
领取专属 10元无门槛券
手把手带您无忧上云