Discord Bot Python如何连接表情符号

时间:2020-09-24 18:06:55

标签: python concatenation discord

@bot.command()
async def bar(ctx,number:int):
    text=""
    emoji = get(bot.emojis, name='emojiname')
    for i in range(number):
        text=text+"<:"+str(emoji.name)+":"+str(emoji.id)+">"
    await ctx.send(text)

这返回的是:emojiname :: emojiname :: emojiname:...:emojiname:您指定的数量,但没有返回几个emojis,所以我想知道是否有任何方法可以在不和谐的python上串联emojis。

1 个答案:

答案 0 :(得分:0)

TLDR

要连接不和谐的Emoji对象,您可以使用:

width:100%

在您的情况下,代码变为:

# emoji1: discord.Emoji 
# emoji2: discord.Emoji
two_emoji_msg = str(emoji1) + str(emoji2)

尽管我建议在这种情况下使用@bot.command() async def bar(ctx, number: int): text = "" emoji = get(bot.emojis, name='emojiname') for i in range(number): text += str(emoji) await ctx.send(text)

说明

text = str(emoji) * number没有discord.Emoji方法。这意味着您不能直接连接__add__实例(即不可能使用discord.Emoji),但是它确实有一个emoji1 + emoji2方法,该方法返回有效的和弦表情符号字符串表示形式,然后该字符串为级联。另外,您还可以设置名称和ID格式,例如__str__,这不适用于动画表情符号,因为它们的表示形式以"<:{emoji.name}:{emoji.id}>"而不是<a:(即<:)开头


P.S 我不是完全理解您的问题,因此请纠正我,如果这不是您的意思。