【问题标题】:discord.py message counter not workingdiscord.py 消息计数器不工作
【发布时间】:2018-05-23 05:06:26
【问题描述】:

我正在尝试使用 on_message 事件使用 discord.py 创建消息计数器,但由于某种原因,计数器始终保持在 1,这是我的代码,因此您可以更好地了解我的内容我在谈论。

@cord.event
async def on_message(message):
    global message_counter
    message_counter = 0
    message_counter += 1

【问题讨论】:

  • 您每次都将 message_counter 重置为 0。只需删除行message_counter = 0
  • 在其他地方初始化message_counter,而不是on_message
  • 好吧,每次我把它放在某个地方,它都会一直说local variable 'message_counter' referenced before assignment
  • 哦,等等,我能够通过不从 on_message 事件中移动行全局变量行来使其工作

标签: python-3.x discord.py


【解决方案1】:

您需要在函数顶部使用globalnonlocal 声明。

message_counter = 0

@cord.event
async def on_message(message):
    global message_counter
    message_counter += 1

【讨论】:

    【解决方案2】:

    您将变量 message_counter 设置为 0 每次有人说出消息时。

    试着把它变成这样:

    @cord.event
    message_counter = 0
    async def on_message(message):
        message_counter = message_counter + 1
    

    【讨论】:

    • 你有一个语法错误(赋值需要在装饰器之上)。此外,您在这里遇到了范围界定问题。
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 2021-04-17
    • 1970-01-01
    • 2020-11-10
    • 2021-03-19
    相关资源
    最近更新 更多