如何让机器人给自己的消息添加自定义表情反应?解决emoji变量获取问题
如何获取自定义表情并用于
message.add_reaction() 核心解决方法:获取自定义表情的两种途径
因为get_all_emojis()已被弃用,现在可以通过以下方式获取自定义表情,直接传入message.add_reaction()即可:
通过服务器表情列表查找
如果表情属于当前消息所在的服务器,可通过服务器的emojis属性结合discord.utils.get()获取:# 假设使用discord.py库,message为机器人发送的消息对象 emoji = discord.utils.get(message.guild.emojis, name="你的表情名称") await message.add_reaction(emoji)通过机器人全局表情列表查找
机器人能访问的所有服务器的表情都存放在bot.emojis(bot是你的机器人实例)中,可直接检索:emoji = discord.utils.get(bot.emojis, name="你的表情名称") await message.add_reaction(emoji)直接使用表情的ID格式字符串
自定义表情的原始格式为<:表情名:表情ID>,你可以直接复制这个字符串传入方法:await message.add_reaction("<:my_custom_emoji:123456789012345678>")
额外说明
- 若使用的是Unicode原生表情(不是服务器自定义表情),直接传入表情字符即可,比如
await message.add_reaction("😎") - 确保机器人已加入自定义表情所在的服务器,且拥有使用表情的权限
内容的提问来源于stack exchange,提问作者Yozy Opto
相关产品推荐
相关产品推荐

