2024-05-16 05:58:52 发布
网友
我有一个机器人,它可以发送包含特定于每个嵌入的表情符号的嵌入,它在我上传表情符号的测试服务器上运行得很好,但它们不会出现在其他服务器上,因为这些服务器没有自定义表情符号
使用:
emoji = get(ctx.message.guild.emojis, name='emojinamehere')
当然对它所在的服务器有效,但是有没有办法从机器人所在的任何服务器获取并使用所有表情符号
是的,这是一个很好的帖子,但这可能对任何寻找答案的人都有帮助
@client.command() async def emoji(ctx, emojiname): for i in client.guilds: emoji = discord.utils.get(i.emojis, name=emojiname)
当然,您必须将表情符号的名称作为第一个参数传递
因为您特别使用了ctx.message.guild.emojisaka,所以您试图从上下文公会(可能没有)获取表情符号
ctx.message.guild.emojis
您可以通过名称摆脱get查找,只需使用bot.get_emoji(),其中bot是bot/client对象
get
你的机器人将把来自所有公会的所有表情符号存储在内部缓存中,get_emoji()将从那里检索它,这样它将适用于所有公会
get_emoji()
要做到这一点,您需要的是表情符号ID(整数),而不是您当前获得的名称。您可以通过名称获取,然后获取其ID,但这只是不必要的步骤
只需使用表情符号ID,因为它们是唯一的,不能更改(名称可以重复,也可以更改,所以您可能会遇到按名称获取的问题)
您可以使用Discord客户端应用程序快速获取表情符号ID:
\
<:emoji_name:emoji_id>
是的,这是一个很好的帖子,但这可能对任何寻找答案的人都有帮助
当然,您必须将表情符号的名称作为第一个参数传递
因为您特别使用了
ctx.message.guild.emojis
aka,所以您试图从上下文公会(可能没有)获取表情符号您可以通过名称摆脱
get
查找,只需使用bot.get_emoji(),其中bot是bot/client对象你的机器人将把来自所有公会的所有表情符号存储在内部缓存中,
get_emoji()
将从那里检索它,这样它将适用于所有公会要做到这一点,您需要的是表情符号ID(整数),而不是您当前获得的名称。您可以通过名称获取,然后获取其ID,但这只是不必要的步骤
只需使用表情符号ID,因为它们是唯一的,不能更改(名称可以重复,也可以更改,所以您可能会遇到按名称获取的问题)
您可以使用Discord客户端应用程序快速获取表情符号ID:
\
<:emoji_name:emoji_id>
之类的内容相关问题 更多 >
编程相关推荐