簡體   English   中英

如何將帶有表情符號名稱的字符串轉換為不和諧表情符號?

[英]How can I convert a string with the emoji name into a discord emoji?

假設我有一個帶有表情符號名稱的字符串,例如emoji = 'fishing_pole_and_fish'

有沒有辦法在沒有得到錯誤的情況下做msg.add_reaction(emoji)

discord.ext.commands.errors.CommandInvokeError:命令引發異常:HTTPException:400 錯誤請求(錯誤代碼:10014):未知表情符號

或者我可以將字符串轉換為discord.Emoji嗎?

我知道我可以使用'\\N{FISHING POLE AND FISH}' ,但我需要它作為'fishing_pole_and_fish'以便我可以用它做其他事情。 此外,釣魚竿和魚只是一個示例表情符號

您是否查看過表情符號模塊

為了讓機器人能夠對內置的標准表情符號做出反應,它需要表情符號是符號“🎣”,而不是“:fishing_pole:”,它只適用於自定義表情符號<:name:id>

import emoji

string = ":fishing_pole:"
demoji = emoji.demojize("🎣 ")   # This takes the emoji and gives--> :fishing_pole:
emoji = emoji.emojize(string)    # This takes :fishing_pole: and gives--> 🎣    
print(demoji)
print(emoji)

它確實需要在任何一側都有“:”,否則它將無法工作。 但是如果需要,您可以使用''.join(":"+string+":")

您可以使用unicodedata.lookup函數:

from unicodedata import lookup

def emoji_from_name(name):
    return lookup(name.replace("_", " "))

對於公會中的自定義表情符號,您可以使用它。 請記住,您必須在公會中擁有表情符號。

emoji = discord.utils.get(ctx.guild.emojis, name="CUSTOM EMOJI NAME")

其他替代方法是使用bot.get_emoji獲取表情符號的 id,您可以使用它來跨公會自定義表情符號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM