![](/img/trans.png)
[英]Is there a way to receive suggestions by other users to me so in discord.py
[英]Discord.py - check balance of other users
我制作的機器人有一個經濟系統,你可以通過!bal
來檢查你的余額。 但是我希望其他用戶可以檢查您的余額,並且您也可以檢查其他用戶的余額。 但現在我只知道如何編碼,您只能檢查自己的余額。 我如何更改代碼,以便您可以通過輸入他們的 ID 或提及他們來檢查其他用戶的余額?
async def balance(ctx):
await open_account(ctx.author)
user = ctx.author
users = await get_bank_data()
lvsAmt = users[str(user.id)]["leaves"]
tckAmt = users[str(user.id)]["tickets"]
gemAmt = users[str(user.id)]["gems"]
em = discord.Embed(
title=f"{ctx.author.mention}'s Balance",
description=
f"<:zoa_leaves:918778938707279883> {lvsAmt}\n<:zoa_ticket:918774141400801330> {tckAmt}\n<:zoa_gems:918777349946888212> {gemAmt}",
color=0xe9a9a9)
await ctx.send(embed=em)
async def open_account(user):
users = await get_bank_data()
if str(user.id) in users:
return False
else:
users[str(user.id)] = {}
users[str(user.id)]["leaves"] = 0
users[str(user.id)]["tickets"] = 0
users[str(user.id)]["gems"] = 0
with open('mainbank.json', 'w') as f:
json.dump(users, f)
return True
async def get_bank_data():
with open('mainbank.json', 'r') as f:
users = json.load(f)
return users
我試圖將ctx.author
更改為ctx.user
但它不起作用
您可以在命令中添加member
參數: async def balance(ctx, member: discord.Member = None):
async def balance(ctx, member: discord.Member):
user = member or ctx.author
await open_account(user)
users = await get_bank_data()
lvsAmt = users[str(user.id)]["leaves"]
tckAmt = users[str(user.id)]["tickets"]
gemAmt = users[str(user.id)]["gems"]
em = discord.Embed(
title=f"{user.mention}'s Balance",
description=
f"<:zoa_leaves:918778938707279883> {lvsAmt}\n<:zoa_ticket:918774141400801330> {tckAmt}\n<:zoa_gems:918777349946888212> {gemAmt}",
color=0xe9a9a9)
await ctx.send(embed=em)
然后用戶將能夠通過鍵入類似[your_prefix]bal @User#1234
的內容來使用該命令。
如果有人需要它,這是我現在使用的代碼,它工作正常!
@client.command(aliases=['bal'])
async def balance(ctx, member: discord.Member=None):
if member is None:
member = ctx.author
user = member or ctx.author
await open_account(user)
users = await get_bank_data()
lvsAmt = users[str(user.id)]["leaves"]
tckAmt = users[str(user.id)]["tickets"]
gemAmt = users[str(user.id)]["gems"]
em = discord.Embed(
title=f"{user.mention}'s Balance",
description=
f"<:zoa_leaves:918778938707279883> {lvsAmt}\n<:zoa_ticket:918774141400801330> {tckAmt}\n<:zoa_gems:918777349946888212> {gemAmt}",
color=0xe9a9a9)
await ctx.send(embed=em)
async def open_account(user):
users = await get_bank_data()
if str(user.id) in users:
return False
else:
users[str(user.id)] = {}
users[str(user.id)]["leaves"] = 0
users[str(user.id)]["tickets"] = 0
users[str(user.id)]["gems"] = 0
with open('mainbank.json', 'w') as f:
json.dump(users, f)
return True
async def get_bank_data():
with open('mainbank.json', 'r') as f:
users = json.load(f)
return users
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.