1 回答
TA贡献1842条经验 获得超21个赞
我能够通过将我的问题+答案存储在 JSON 文件中来解决我自己的问题,对于“检查”功能,我创建了一个全局变量“triv”,它在调用之前使用 json 文件中的答案在测验功能中进行更新wait_for 和 check 函数。它运作得很好。
triv = []
async def play_trivia(new_msg, ctx, bot):
with open("trivia_questions.json", 'r') as f:
trivia = json.load(f)
data = trivia['items']
random.shuffle(data)
for item in data:
flag = 0
for key in item:
q = item['q']
a = item['a']
if flag < 1:
flag += 1
await new_msg.edit(content=q)
global triv
triv = a
msg = await bot.wait_for('message', check=check)
if msg:
await msg.add_reaction('✅')
await ctx.send(str(msg.author.name) + "wins this one")
await asyncio.sleep(2)
else:
flag += 1
await ctx.send(q)
triv = a
msg = await bot.wait_for('message', check=check)
if msg:
await msg.add_reaction('✅')
await ctx.send(str(msg.author.name) + "wins this one!!")
await asyncio.sleep(2)
def check(message):
content = message.content.lower()
return any(t in content for t in triv)
添加回答
举报