You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Discord命令获取指定单个Emoji的名称与ID?

实现单服务器表情的名称与ID查询

你需要修改命令逻辑,让它接收用户输入的单个表情作为参数,而非遍历所有服务器表情。以下是修改后的完整代码:

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='!', description="ayuda bot") 
bot.remove_command("help") 

@bot.command(name='emoji')
async def emoji(ctx, emoji: discord.Emoji):
    # 输出目标表情的名称和ID
    await ctx.send(f"{emoji.name} {emoji.id}")

@emoji.error
async def emoji_error(ctx, error):
    # 处理参数错误的情况(比如输入的不是当前服务器的表情)
    if isinstance(error, commands.BadArgument):
        await ctx.send("请输入当前服务器内的有效表情图标!")

@bot.event
async def on_ready():
    print("BOT listo!")

bot.run('你的机器人Token') 

关键修改说明

  • 命令名调整:将原命令emojis改为emoji,匹配你期望的!emoji + 表情图标调用方式
  • 参数类型指定:给命令添加emoji: discord.Emoji参数,discord.py会自动解析用户输入的表情,直接返回对应的Emoji对象
  • 错误处理:新增emoji_error函数,当用户输入无效表情(比如其他服务器的表情或非表情内容)时,给出友好提示
  • 逻辑简化:不再遍历所有服务器表情,直接输出目标表情的信息

这样用户调用!emoji 🎉(替换为你服务器内的表情)时,机器人就会返回该表情的名称和ID了。

内容的提问来源于stack exchange,提问作者silvia2005

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 03:16:13