所以这个命令有效,但...
@commands.command()
async def se(self, ctx, emoji: discord.Emoji):
await ctx.send(f"**Name:**Illdo this later **Link:**{emoji.url}")
它仅适用于机器人所在服务器的表情符号。 有谁知道如何使它能够获得任何服务器表情符号的链接?即使机器人不在其中 如果你愿意,我也需要帮助显示表情符号的名称
我想要的东西是
答案 0 :(得分:1)
您需要获取表情符号的 id 并制作 url 本身
您可以通过某个 id
获取它的 split()
,并且您还需要检查它是否具有动画效果,以便我们可以相应地使用 .gif
和 .png
代码如下:
@commands.command()
async def se(self, ctx, *, msg):
_id = msg.split(":") # split by ":"
if "<a" == _id[0]: # animated emojis structure <a:name:id>
ext = "gif"
else:
ext = "png" # normal emojis structure <name:id>
e_id = _id[2].split(">")[0].strip()# get the id
# url for a emoji is like this, try yourself if you want to check by manually copying any emoji's url
url = f"https://cdn.discordapp.com/emojis/{e_id}.{ext}"
await ctx.send(f"**Name**: :{_id[1]}: **Link**: {url}")