【问题标题】:Set different variables to the same Variable result [Discord.py, Google Sheet API]将不同的变量设置为相同的变量结果 [Discord.py, Google Sheet API]
【发布时间】:2020-06-01 21:41:52
【问题描述】:

我要做的是 cell_find 在我的 Google 表格 API 中查找特定成员的记录禁令,然后,它将显示在 Discord Embed 中,但问题基本上是当机器人发送嵌入时它只显示一个结果而不是应该显示的 3 个结果

cell_find = sheet.findall('Banned')
var = 0
for cell in cell_find:
    var += 1
    sheet_username = sheet.cell(cell.row,3).value   
    sheet_reason = sheet.cell(cell.row,7).value
    if var == 4:
        break

我想尝试的嵌入是这样的

embed = discord.Embed(title=f'{sheet_username}'s Incidents')
embed.addfield(name="Incident#1", value=f'{sheet_reason}')
embed.addfield(name="Incident#2", value=f'{sheet_reason}')
embed.addfield(name="Incident#3", value=f'{sheet_reason}')
await ctx.send(embed = embed)

【问题讨论】:

    标签: python-3.x google-sheets-api discord.py


    【解决方案1】:

    您可以尝试在 for 循环中对其进行迭代:

    sheet_username = sheet.cell(cell.row,3).value  
    embed = discord.Embed(title=f"{sheet_username}'s Incidents")
    
    for count, cell in enumerate(cell_find, 1): 
        sheet_reason = sheet.cell(cell.row,7).value
        embed.add_field(name=f"Incident#{count}", value=f"{sheet_reason}")
    
    await ctx.send(embed=embed)
    

    如果不知道您的 google 表格是如何布置的,我无法在列上提供帮助,但您可以使用 count 变量添加到列中吗? 3 + count 之类的东西?

    但我认为就逻辑而言,这是添加字段的方法。


    参考资料:

    【讨论】:

    • 非常感谢 Diggy,它成功了♥顺便说一句,你知道如何让它只打印第二个结果,比如忽略第一个事件并打印第二个吗?
    • 如果你不想使用硬编码的值,你可以在命令中添加一个参数,让用户看到特定的事件(你可以将enumerate()中的1替换为论点)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多