Я бы хотел, чтобы мой бот-дискордант каждые 5 секунд, основываясь на том, что я недавно что-то набрал в чате, отправлял сообщение «Ты говорил».Например, если я отправил эти сообщения (ниже) Привет (сообщение № 1 прошло одну секунду) Привет (сообщение № 2 прошло две секунды) Привет (сообщение № 3 прошло три секунды) Привет (сообщение № 4,Прошло 5 секунд) (Бот говорит): Вы говорили (имейте в виду, бот говорит это только один раз, а не 4 раза)
Однако, на данный момент, он бездействует и не отправляетСообщения.Я не получаю никаких ошибок, а сам бот работает и находится в сети.Мне было интересно, может ли кто-нибудь помочь мне отредактировать мой код, чтобы, если я что-то сказал, через 5 секунд бот сказал «Ты говорил» только один раз.Предыдущие проблемы перед этим кодом включали в себя спам ботов «Вы говорили», поэтому я хочу, чтобы он говорил «Вы говорили» только один раз.
(ниже) Я хочу, чтобы это делалось так, чтобы всякий разговорите, если прошло 5 секунд, бот скажет, что вы говорили (только один раз)
async def on_message (сообщение): if message.author.id == 'XXXXXXXXXXXXXXX':
mins = 0 #mins standing for minutes#
num = 0 #var for counting how many times bot has sent msg#
if "" in message.content.lower(): #means if I say anything#
if mins % 5 == 0: #if seconds past is divisible by 5 (meaning 5 seconds have past)
num +=1
if num == 1:
msg = 'You have spoken!'
await client.send_message(message.channel,msg)
num -=1 #make num 0 again so bot does not repeatedly send msg#
time.sleep(5)
mins +=1
if (mins % 5)>0:
time.sleep(5)
mins +=1 #do nothing if not divisible#
Я бы хотел, чтобы бот каждые 5 секунд, если я что-то говорил, говорил «Ты говорил» один раз.