Discord bot 不会将我的消息发送到服务器,而是在终端中打印它

时间:2021-02-16 17:16:07

标签: python discord discord.py

@bot.command(name="complete")
async def _command(ctx):

    await ctx.send(f"Which task did you complete?\n" + ("-"*20) + "\n")
    dictDailyTasks = { i : dailyTasks[i] for i in range(0, len(dailyTasks) ) }
    for key, value in dictDailyTasks.items():
         print(key,value)

Output:
0 RUN
1 WORKOUT

当我将密钥和值打印到控制台时,我的代码有效,但是,当我尝试将其发送到我的频道时,没有任何反应。

@bot.command(name="complete")
async def _command(ctx):

    await ctx.send(f"Which task did you complete?\n" + ("-"*20) + "\n")
    dictDailyTasks = { i : dailyTasks[i] for i in range(0, len(dailyTasks) ) }
    for key, value in dictDailyTasks.items():
         await ctx.send(key, value)

知道为什么会这样吗?我觉得这是我忽略的一个愚蠢的错误!谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这是因为 print() 可以接受多个参数并将它们全部打印出来,而 send 只接受 1 个(要发送的内容)。如果您想将它们作为一对而不是单独发送,请发送元组或将它们格式化为字符串。

await ctx.send(f"({key}, {value})")