因此,我想知道,是否可以在某个命令之间添加延迟,而不使用@bot.command?
这一直是一个问题,由于我最近添加了一个货币命令,用户可以垃圾邮件。因此,我希望在每个用户的命令之间延迟4-8分钟,但是我还没有在这里找到它。
这是我的密码:
if message.content.startswith('=work'):
f=open("bal_" + user.name + ".txt", 'r+')
bal = f.read()
balance = f.read()
print(str(bal))
workvalue = (randint(12, 100))
s = bal
i = int(s)
total = i+workvalue
f.seek(0)
f.truncate()
f.write(str(total))
print('earned: ' + str(workvalue))
print('Balance: ' + str(balance))
print('Total: ' + str(total))
embed = discord.Embed(title="You worked for: $" + str(workvalue), description='', color=0xdb7991)
await client.send_message(message.channel, embed=embed)
f.close()老实说,其中一些是来自我所做过的其他命令(文件创建、团队等等)。但我还没能延迟
发布于 2019-03-11 03:07:28
不确定这是否是您要查找的内容,但如果在执行命令后8分钟已经过去,它将允许他们再次执行该命令。
work_timer = {}
if message.content.startswith('=work'):
try:
work_time = work_timer[message.author.id]
work_timer[message.author.id] = time.time()
if work_timer[message.author.id] - work_time <= 480:
await client.send_message(message.channel, "You're only allowed to work every 8 minutes")
return
else:
await client.send_message(message.channel, "{} works".format(message.author.mention))
except KeyError:
work_timer[message.author.id] = time.time()
await client.send_message(message.channel, "{} works".format(message.author.mention))https://stackoverflow.com/questions/55092569
复制相似问题