答案 0 :(得分:0)
要add_reaction()
,您需要获取消息对象并指定要使用的表情符号。并且由于它是coroutine
,因此需要进行await
编辑。
表情符号:
指定表情符号时,它必须是以下之一:
\u2705
<:emoji_name:112233445566778899>
(用于自定义表情符号)-get_emoji()
也可用,返回discord.Emoji
您可以使用this网站查找表情符号的unicode和字符串表示形式,以将其粘贴到其中。
对于自定义表情符号,您可以将\:emoji_name:
键入不和谐并发送消息,然后以<:emoji_name:123...>
的格式接收。
命令:
感谢Context
,使用命令时,我们可以通过ctx.message
来获取消息:
@bot.command()
async def cmd(ctx):
# Do some stuff
await ctx.message.add_reaction("\u2705")
on_message():
在message
事件中,我们得到了on_message
对象本身:
@bot.event
async def on_message(message):
await bot.process_commands(message) # Don't forget this is you're using commands too
if message.content.lower().startswith("!cmd"):
# Do some stuff
await message.add_reaction("\u2705")
参考:
commands.Context
Message.add_reaction()
Client.get_emoji()
Guild.fetch_emoji()
Bot.process_commands()
-“没有此协程,将不会触发任何命令。如果您选择覆盖on_message()
事件,则也应调用此协程。”