discord.py :: 我怎样才能让我的机器人对它自己的消息做出反应?

Posted

技术标签:

【中文标题】discord.py :: 我怎样才能让我的机器人对它自己的消息做出反应?【英文标题】:discord.py :: How can I get my bot to react to it's own message? 【发布时间】:2021-08-29 07:15:21 【问题描述】:

在我的 on_message 下我有这个;

 if message.channel.id == 809991898722861137:
        emoji = client.get_emoji(830070201885130823)
        await message.add_reaction(emoji)
        emoji = client.get_emoji(830070201722601523)
        await message.add_reaction(emoji)
        emoji = client.get_emoji(830070202091175976)
        await message.add_reaction(emoji)
        emoji = client.get_emoji(830070201654837249)
        await message.add_reaction(emoji)

但每当我执行命令让我的机器人发送消息时,反应只会发布在我的消息上,而不是我的机器人。

有没有办法让我的机器人消息也能得到反应?

【问题讨论】:

【参考方案1】:

我猜你希望对你的消息和机器人的消息都有反应。

import discord
from discord.ext import commands
import asyncio

client = commands.Bot(command_prefix=".")

@client.event
async def on_message(message):
    if message.channel.id == 809991898722861137:
        emoji = '\NTHUMBS UP SIGN' # Thumbs up emoji
        await message.add_reaction(emoji)
    await client.process_commands(message)

或者,如果您希望仅在机器人上做出反应:

import discord
from discord.ext import commands
import asyncio

client = commands.Bot(command_prefix=".")

@client.event
async def on_message(message):
    if message.channel.id == 809991898722861137:
        if message.author == client.user: # Check if the message came from the bot
            emoji = '\NTHUMBS UP SIGN' # Thumbs up emoji
            await message.add_reaction(emoji)
        else:
            # Do something else
    await client.process_commands(message)

【讨论】:

感谢您的回复!我尝试了您作为示例列出的***代码,但不幸的是它仍然没有对自己的消息做出反应。相反,当我执行命令让机器人发送消息时,它现在发送消息两次。知道这是为什么吗? 我不确定它重复该消息的原因,对不起。奇怪的是代码在我这边工作......你可以尝试在if message.channel.id == 809991898722861137: 之后添加if message.author != client.user or message.author == client.user: 吗?我尝试了这个并得到了相同的结果。

以上是关于discord.py :: 我怎样才能让我的机器人对它自己的消息做出反应?的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py:我怎样才能获得机器人角色并改变他的颜色?

如何让我的 discord.py 机器人提及我的消息中提到的某人?

如何让我的 discord.py 机器人识别它正在被 ping

Discord.py - 如果命令被编辑,让我的机器人编辑他的响应

Discord.py 机器人:如何让我的不和谐机器人向我发送对用户在 DM 中使用的命令的响应,例如进行调查?

如何让我的 discord.py 机器人在语音频道中播放 mp3?