【问题标题】:8ball command in discord gives out whole list instead of one random response不和谐中的 8ball 命令给出了整个列表而不是一个随机响应
【发布时间】:2021-05-22 09:58:51
【问题描述】:

我再次向我的不和谐机器人寻求帮助。所以我做了一个 8ball 命令,它从一个名为响应的列表中发送一个随机响应。但相反,我的机器人只是发送整个列表。这是我的代码,希望有人能帮忙:

@client.command(aliases=['8ball','magicball'])
async def _8ball(ctx, *,question):
   responses = ["List of responses"]
await ctx.send(f"{random.choice(responses)}")

【问题讨论】:

  • 根据您问题中包含的代码,我尝试复制它并且效果很好。我相信这是您使用“响应”数组的方式。您介意编辑您的问题并将其包含在其中吗?
  • 确保responses 列表用逗号分隔,如responses = ["response1", "response2", "response3"]
  • 谢谢@Shunya,我认为它解决了问题。

标签: python discord discord.py bots


【解决方案1】:

由于在cmets中只出现了一个“答案”,我再给大家总结一下:

如果您想创建一个可能性列表,则必须始终将各个建议分开。这发生在列表中的, ([])。如果您不添加逗号,机器人将获取"" 之间的所有内容。

示例:

responses = ["Testing, Testing1, Testing2"]
await ctx.send(f"{random.choice(responses)}")

还是会给出:Testing, Testing1, Testing2

将其更改为以下...

responses = ["Testing", "Testing1", "Testing2"]
await ctx.send(f"{random.choice(responses)}")

... 会给出以下三个响应之一:TestingTesting1Testing2

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2022-10-13
    • 2018-07-01
    • 2022-11-13
    相关资源
    最近更新 更多