python - 我如何在 discord.py discord bot 的不和谐排行榜中提及人
问题描述
我一直在使用 discord.py 开发一个不和谐机器人,但在尝试显示排行榜时遇到了一些麻烦。
但是,我希望用户 ID 显示提及。这是我的 Python 代码:
import discord
from discord.ext import commands
import json
import os
os.chdir('My File Path')
@client.command(aliases = ["lb"])
async def leaderboard(ctx,x = 5):
users = await get_bank_data()
leader_board = {}
total = []
for user in users:
name = int(user)
total_amount = users[user]["wallet"] + users[user]["bank"]
leader_board[total_amount] = name
total.append(total_amount)
total = sorted(total,reverse=True)
em = discord.Embed(title = f"Top {x} Richest People" , description = "This is decided on the basis of raw money in the bank and wallet",color = discord.Color(0xfa43ee))
index = 1
for amt in total:
id_ = leader_board[amt]
member = client.get_user(id_)
memberName = f"<@{user}>" #Here is where I'm having trouble
em.add_field(name = f"{index}. {memberName}" , value = f"{amt}", inline = False)
if index == x:
break
else:
index += 1
await ctx.send(embed = em)
async def get_bank_data():
with open("main-bank.json", "r") as f:
users = json.load(f)
return users
这是我的 json 文件代码:
{"User ID of someone": {"wallet": 66.0, "bank": 2000} "User ID of someone": {"wallet": 0, "bank": 1969}, "User ID of someone": {"wallet": 10, "bank": 0}, "User ID of someone": {"wallet": 89, "bank": 0}}
我试过这样做memberName = member.mention
,但这似乎不起作用。
我的 Python 版本是 3.8.5,我在 MacOS Catalina 上运行。
解决方案
因此,基本上,您不能在嵌入字段的名称中提及用户,而是可以将值与嵌入的名称进行切换并获得满意的结果。您的代码将如下所示 -
for amt in total:
id_ = leader_board[amt]
member = client.get_user(id_)
memberName = f"<@{user}>" #Here is where I'm having trouble
em.add_field(value = f"{index}. {memberName}" , name = f"{amt}", inline = False)
if index == x:
break
else:
index += 1
推荐阅读
- javascript - 将 div 中的所有表格附加到正文中
- c# - C# 在帧级别解码 YouTube 视频
- sql - 如何在 Cassandra 中正确建模表(从 SQL 思维模式到 Cassandra)?
- crystal-lang - 如何在给定位置的文件中获取单词?
- macos - 无法将 .data 中的变量移动到 Mac x86 程序集的寄存器
- autohotkey - AHK | 防止在“无空间”热字串之后重置热字串计数
- python - Pandas itertuple 返回不一致的类型,无论是 Pandas 还是元组
- apache - 弄乱配置文件后将 www 重定向到 https
- c# - 嵌入多个 DLL 和基于负载的 Off Office 版本
- ruby-on-rails - devise_token_auth:注册后如何登录用户?