首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让on_reaction_add只在机器人的消息被响应时触发

在Discord.py中,可以使用on_reaction_add事件来监听当有用户给消息添加反应时触发的事件。为了让on_reaction_add只在机器人的消息被响应时触发,可以在事件处理函数中添加一些条件判断。

下面是一个示例代码:

代码语言:txt
复制
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事件就只会在机器人的消息被响应时触发了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券