【问题标题】:using emoji from different server, nextcord bot使用来自不同服务器的表情符号,nextcord bot
【发布时间】:2022-01-24 03:24:34
【问题描述】:

我正在尝试从另一台服务器获取表情符号。 我为服务器创建了一个服务器对象,它是一个常量,因为我只想从这个服务器中拉取数据。

for emoji in main_tuple:
       emoji_name_id =await server.fetch_emoji(emoji)
       emoji_array.append(f"<{emoji_name_id.name.lower()}:{emoji_name_id.id}>")

错误:

nextcord.ext.commands.errors.CommandInvokeError:命令引发了 异常:未找到:404 未找到(错误代码:10014):未知表情符号

我应该提到我想在另一个服务器上显示它,我知道这可能很明显但是是的。 main_tuple 是数据库中具有表情符号 ID 和名称的方向。 错误

机器人也是它从中获取 id 的服务器的一部分。 我看过:discord.py emoji all servers bot in 它对我不起作用。

【问题讨论】:

  • “我正在尝试从另一台服务器获取表情符号” - 嗯,什么?表情符号只是一个 Unicode 代码点。您无需从任何地方获取它们。您是指自定义表情符号艺术品吗?
  • 我应该澄清这一点。是的,我的意思是自定义表情符号。

标签: discord.py nextcord


【解决方案1】:

第一个问题,您的引用错误。 &lt;:Name:ID&gt; 而不是&lt;Name:ID&gt; (如果你没有看到它,你错过了第一个冒号)

另一个问题,

emoji_name_id.name.lower()

自定义表情符号必须具有“准确”的名称和 ID,如果使用较低的方法,您将尝试引用错误的自定义表情符号。 例如:

实际的表情可能具有以下引用 &lt;:ThisIsACoolEmote:ID&gt;,而您正在附加不存在的 &lt;:thisisacoolemote:ID&gt;

为了缓解这种情况,您只需附加str(emoji_name_id),它将自动为您提供格式为&lt;:Name:ID:&gt; 的正确表情参考,是的,它也会格式化动画表情符号,即:&lt;a:Name:ID&gt;

这里fetching 也可能不是最佳做法,如果您有权访问member Privileged Intent,您可以使用bot.get_emoji 代替它从内部缓存中获取表情。

【讨论】:

    猜你喜欢
    • 2020-12-20
    • 2022-08-18
    • 2018-09-05
    • 2012-02-03
    • 2019-07-23
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多