【发布时间】:2021-01-26 09:44:06
【问题描述】:
所以我正在使用可以查看机器人的命令进行测试。它将检测 arg 并查找 arg 是否在事物中,如果在事物中,它将打印以下信息。但是,它只适用于最后的信息。我该如何解决?
命令代码:
@client.command(pass_context=True)
async def viewbot(ctx, arg):
for bot in data['bots']:
name = bot["name"]
#createdby = bot["createdby"]
briefdesc = bot["briefdesc"]
desc = bot["description"]
slug = bot["slug"]
if arg == f'{slug}':
embed = discord.Embed(title=name,description=briefdesc,timestamp=ctx.message.created_at,colour=discord.Color.dark_green())
await ctx.send(embed = embed)
else:
print("no")
JSON 代码:
{
"bots": [
{
"name": "Bot1",
"createdby": "Bit#0258",
"briefdesc": "Texts.",
"description": "Test",
"library": "discord.py",
"slug": "bot1"
},
{
"name": "Bot2",
"createdby": "BotTest#0001",
"briefdesc": "Text",
"description": "Rext",
"library": "discord.js",
"slug": "bot2"
}
]
}
如果您知道如何解决,请回复此问题。谢谢。
【问题讨论】:
-
“最后的信息”是什么意思?还有你如何调用你的函数?
-
您的代码实际上是这样缩进的吗?然后仔细想想:
if arg == f'{slug}':检查应该发生多少次?它实际上发生了多少次?你的代码有什么特点可以让它发生这么多次?考虑到您的代码的缩进,它会按照您的预期执行吗?
标签: python python-3.x discord discord.py