我是 discord.py 的菜鸟,我知道我的代码有什么问题

时间:2021-01-06 16:27:53

标签: discord.py

每次我发送 meme bal 或 meme beg 时,我都会收到错误消息。我知道发生了什么,我不知道如何解决它。 这是我得到的错误:

Indexer: number of documents indexed, deleted, or skipped:
Indexer:      5  deleted (gone)
Indexer:      8  deleted (redirects)
Indexer:     76  indexed (add/update)
Indexer: finished at 2020-12-17 13:07:19, elapsed: 00:00:08

我是 discord.py 的新手,所以有人可以帮助我。我尝试更改银行名称,但仍然无效。老实说,我不知道发生了什么。我的不和谐机器人也没有响应。 \

这是我的代码:

Ignoring exception in command bal:
Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, 
in wrapped
    ret = await coro(*args, **kwargs)
  File "main.py", line 90, in ball
    amt_in_vault = users[str(user.id)]['bank']
KeyError: 'bank'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 903, 
in invoke
    await ctx.command.invoke(ctx)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 859, 
in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, 
in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: KeyError: 'bank'

2 个答案:

答案 0 :(得分:0)

mainvault.json 中缺少 value bankuser

答案 1 :(得分:0)

mainvault.json 中存储的每个用户下,没有 bank 键。换句话说,假设您正在尝试获取包含 abc 的 JSON 文件的 {"123": 456, "xyz": "abc"} 键。这与您要执行的操作类似,但显然键/值不同。您需要将您在 mainvault.json 中用于存储用户银行金额的任何键名更改为 bank,或者您需要将 amt_in_vault = users[str(user.id)]['bank'] 更改为 {{1} }.我最好的猜测是,您将金额存储在银行的密钥 amt_in_vault = users[str(user.id)]['your key name for storing the amount in the bank'] 下。如果是这样,只需将其更改为 vault