discord py - Bot 忽略“if”检查

时间:2021-01-21 13:45:23

标签: python python-3.x discord.py discord.py-rewrite

我有一个奇怪的问题,找不到解决办法。我想从我的 JSON 排行榜中获得最佳用户并且它正在工作。但现在我想检查 message.author 和排行榜中的用户是否具有相同的用户 ID。如果是,那么应该运行一个动作。

我的代码:

with open("level.json", "r") as a:
     level = json.load(a)
     high_score_list = sorted(level, key=lambda x: level[x].get('secXP'), reverse=True)
     print(f"User2: {high_score_list[0]} + msg author: {message.author.id} - {message.author.name}")
     # thats not working
     if message.author.id == high_score_list[0]:
        embed.set_author(name=f'best leaderboard user!)
        embed.color = 0x686de0

即使用户 ID 与 if 检查完全相同,机器人也不会这样做。我尝试在 if 检查中“打印”行,但即使这样也没有运行。

1 个答案:

答案 0 :(得分:2)

我认为您的问题与数据类型有关。检查您的 json 高分列表是否有文本或数字条目。作者的 ID 始终是 std::variant 类型,因此如果您的高分是 variant,它们将永远不会相等。