该脚本不是我的。该脚本具有功能,但仅适用于一位用户。我希望它对某个用户在某个频道内发送的所有消息做出反应。我认为问题出在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)```
答案 0 :(得分:1)
不能仅通过名称调用自定义服务器表情符号。您需要使用某些字符串来调用它们:
<:emoji_name:emoji_id>
在this thread(或github问题here)中对此进行了详细说明。
这意味着您需要重写custom_emojis
列表,使其由像这样格式化的字符串组成。