我构建了一个调平功能。我的问题是嵌入的消息没有提到这个人。我该如何解决这个问题?

问题描述 投票:0回答:1

我正在为我的discord.py 机器人构建一个级别函数。如果该人达到了下一个级别,机器人就会在频道中发送一条消息。我了解到你可以使用 <@memberid> 来 ping 某人。这对我来说不起作用。这是我的职能:

async def new_level_ping(bot, memberid, guildid, xpbefore, xpadded): #called every time a member get xp
    oldlevel = math.floor((xpbefore ** 0.5) / 5)
    newlevel = math.floor(((xpbefore + xpadded) ** 0.5) / 5)
    if oldlevel != newlevel:
        mentionedmember = "<@" + str(memberid) +">"
        filename = "./database/database.db"
        connection = sqlite3.connect(filename) #connect to polldatabase
        cursor = connection.cursor()
        cursor.execute("SELECT levelingsystemstatus FROM guildsetup WHERE guildid = ?", (guildid,))
        levelingsystemstatus = next(cursor, [None])[0]
        if levelingsystemstatus == True:
            cursor.execute("SELECT levelingpingmessagechannel FROM guildsetup WHERE guildid = ?", (guildid,))
            channelid = next(cursor, [None])[0]
            channel = await bot.fetch_channel(channelid)
            #connection.commit()
            connection.close()
            embed = discord.Embed(title=f'Congratulations {mentionedmember}', description=f'You reached level {newlevel}', color=discord.Color.green())
            await channel.send(embed=embed)

如何解决这个问题?

问题就在于没有提到人(看图)

python-3.x discord.py
1个回答
0
投票

在嵌入中提及成员是不可能的,您可以尝试将发送行更改为

await channel.send(mentionedmember, embed=embed)

© www.soinside.com 2019 - 2024. All rights reserved.