首页 > 解决方案 > discord.py message.channel.send 不工作

问题描述

我正在使用discord.py制作二十一点游戏,我将 Ace 的值从 11 更改为 1,但没有消息发送到通道,并且我没有收到任何错误。

def ask_A(self):
    num_A = []
    for c in range(0, len(self.deck)):
        if self.deck[c].get_value() == "A" and self.deck[c].get_points() == 11:
            num_A.append(c)

    for i in num_A:
        message.channel.send(
            "Your current cards are " + str(self.print_cards()) + ", Total is " + str(self.sum_cards()) + "\n")
        self.deck[i].change_points(1)
        message.channel.send("Changed value of Ace to prevent loss")
        message.channel.send("Your cards are " + str(self.print_cards()) + ", Total is " + str(self.sum_cards()) + "\n")

标签: pythonpython-3.xdiscord.py

解决方案


你忘记了await你的陈述。文档中任何作为协程的东西都需要await表达。

例子:

await message.channel.send("Hello! This is my message")

在此处阅读有关 Async IO的信息。


推荐阅读