discord.ext.command.errors.CommandInvokeError: 命令引发异常: KeyError: 'Fajr'



我想尝试用api做祈祷,但我的问题是,你可以检查api链接,看看我做的是失败还是正确,因为我厌倦了,请给出我的问题的解决方案。

@client.command()
@commands.guild_only()
async def prayers(ctx):
api = "http://api.aladhan.com/v1/timingsByCity?city=karlshamn&country=sweden&method=3&school=1"
response = requests.get(api)
result = response.json()
timings = result["data"]
fajr = timings["Fajr"]
dhuhr = timings["Dhuhr"]
asr = timings["Asr"]
maghrib = timings["Maghrib"]
isha = timings["Isha"]
embed = discord.Embed(title="Prayers time Karlshamn", colour=0xa02c2c)
embed.add_field(name="Fajr", value=fajr, inline=False)
embed.add_field(name="Dhuhr", value=dhuhr, inline=False)
embed.add_field(name="Asr", value=asr, inline=False)
embed.add_field(name="Maghrib", value=maghrib, inline=False)
embed.add_field(name="Isha", value=isha, inline=False)
await ctx.send(embed=embed)

错误

Ignoring exception in command prayers:
Traceback (most recent call last):
File "C:UsersmalazAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesdiscordextcommandscore.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "c:UsersmalazDesktopbotbot.py", line 86, in prayers
fajr = timings["Fajr"]
KeyError: 'Fajr'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:UsersmalazAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesdiscordextcommandsbot.py", line 939, in invoke
await ctx.command.invoke(ctx)
File "C:UsersmalazAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesdiscordextcommandscore.py", line 863, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:UsersmalazAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesdiscordextcommandscore.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: KeyError: 'Fajr'

您可以尝试替换

timings = result["data"]

带有

timings = result["data"]["timings"]

因为fajr和所有祈祷的时间dict

最新更新