【发布时间】:2021-09-17 14:27:08
【问题描述】:
所以,作为一个假期项目,我正在尝试制作两个回复对方消息的机器人。他们将检查发件人的 ID,如果它与其他机器人的 ID 匹配,它将发送一条消息,其中包含该机器人已回复的次数。
问题是当我尝试执行此操作时,两个机器人都发送两条消息,并且计数不高于 1。
这是我的代码:
import discord
import time
TOKEN = #BOT TOKEN#
client = discord.Client()
@client.event
async def on_ready():
print(f'{client.user} has connected to Discord!')
@client.event
async def on_message(message):
if message.author == client.user:
return
tally = 0
if message.author.id == 887901692673261618:
tally += 1
time.sleep(5)
await message.channel.send(tally)
client.run(TOKEN)
我尝试在 TOKEN 和客户端定义下定义 tally 变量,但它随后显示在分配之前引用了 tally
【问题讨论】:
-
tally在每次调用on_message时设置为 0。将此计数存储为全局变量,不要在此方法中将其设置为零?