试图让不和谐的机器人对某个频道内的所有消息做出反应

时间:2020-06-14 01:10:21

标签: python discord.py discord.py-rewrite

该脚本不是我的。该脚本具有功能,但仅适用于一位用户。我希望它对某个用户在某个频道内发送的所有消息做出反应。我认为问题出在message.author.id之类的东西上,我试图完全删除该行,但最终只是破坏了整个东西,并且不会启动不和谐的bot。任何帮助将不胜感激。

from discord.ext        import commands
from discord.ext.commands    import Bot
import asyncio

bot = commands.Bot(command_prefix = "$")

@bot.event
async def on_ready():
    print ("welcome_msg")

async def react(message):
    custom_emojis = [
    ":like:",
    ":emoji:",
    ":emoji:"
    ]
    guild_emoji_names = [str(guild_emoji) for guild_emoji in message.guild.emojis]
    for emoji in custom_emojis:
        if emoji in guild_emoji_names:
            await message.add_reaction(emoji)

@bot.event
async def on_message(message):
    if message.channel.id == 721485450790830111 and \
        message.author.id == 721483699719241748:
            await react(message)```

1 个答案:

答案 0 :(得分:1)

不能仅通过名称调用自定义服务器表情符号。您需要使用某些字符串来调用它们: <:emoji_name:emoji_id>

this thread(或github问题here)中对此进行了详细说明。

这意味着您需要重写custom_emojis列表,使其由像这样格式化的字符串组成。