gpt4 book ai didi

python - 类型错误 : unsupported operand type(s) for +: 'int' and 'str' error when pulling data from API with discord. py

转载 作者:行者123 更新时间:2023-12-05 06:29:55 24 4
gpt4 key购买 nike

我知道其中有很多是开放的,但我找不到任何可以解决我的问题的东西,我正在用 Python 为 Discord 制作一个 Fortnite Statistics Bot。

我的主要功能正常运行 (!stats) 但我目前正在尝试为参数“lastgame”添加功能,您可以将其添加到命令末尾以查看玩家上次玩游戏的所有统计数据。

主要功能起作用的原因是因为从 API 中,它们显示为所有独立的事物并在值周围加上引号:

7: {key: "Matches Played", value: "83"}
key: "Matches Played"
value: "83"
8: {key: "Wins", value: "0"}
key: "Wins"
value: "0"
9: {key: "Win%", value: "0%"}
key: "Win%"
value: "0%"
10: {key: "Kills", value: "36"}
key: "Kills"
value: "36"
11: {key: "K/d", value: "0.43"}
key: "K/d"
value: "0.43"

如您所见,它们都是独立的,并且在响应周围有引号,但是 recentMatches 都在 1 个下拉列表中,大多数没有引号,如果我尝试使用引号(如 accountId)提取任何内容,它会工作并响应,但是我选择了像 kills without quotes 这样的东西,它给了我标题中的错误。

accountId: "f487380b-750c-4762-a6a6-6fe129895ae2"
dateCollected: "2018-10-20T17:26:40.74"
id: 887912262
kills: 0
matches: 4
minutesPlayed: 4
platform: 3
playlist: "p10"
score: 246
top1: 0
top3: 0
top5: 0
top6: 0
top10: 0
top12: 0
top25: 0

这是我的代码:

if platform not in ('pc','xbl','psn'):
await client.send_message(message.channel, 'Usage: ' + COMMAND_PREFIX + 'stats <pc,xbl,psn> <name> lastgame')
return
else:
lastgame = fortnite_tracker_api_last(platform,words[2])

if lastgame:
laststats = lastgame[0]['accountId']

然后我将其添加到不和谐的嵌入中

embed.add_field(name="Last Stats", value=laststats + '\n', inline=False)

如果我尝试使用 accountId,它会工作并将其作为值输出。但是,如果我将“accountId”更改为“kills”之类的内容,则会出现错误。我需要让所有这些显示具有多个值和嵌入字段或只有 1 个。

谢谢,肖恩

最佳答案

如错误所述,laststats 是一个integer,您不能添加intstr一起,例如:

>>> 3 + 'foo'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

然而,您可以将 int 转换为 string,例如通过格式化:

embed.add_field(name="Last Stats", value=<b>'{}\n'.format(</b>laststats<b>)</b>, inline=False)

或者使用 str(..) 构造函数:

embed.add_field(name="Last Stats", value=<b>str(</b>laststats<b>)</b> + '\n', inline=False)

但如果你想执行更复杂的格式化,上面的可能更优雅。

关于python - 类型错误 : unsupported operand type(s) for +: 'int' and 'str' error when pulling data from API with discord. py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52910927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com