как сделать отправку каждые 30 минут?
Мне нужно, чтобы бот отправлял n-ий текст каждые полчаса. вот код
import telebot
bot = telebot.TeleBot('токен')
text = 'текст'
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.from_user.id, text )
bot.polling(none_stop=True, interval=0)
как это реализовать в коде. заранее спасибо Это бот в телеграм
Ответы (2 шт):
Автор решения: Ildar
→ Ссылка
в цикле вызывайте ваш функционал, затем сон на полчаса и так по кругу до бесконечности...
from time import sleep
minutes = 30
while True:
# ваши функции ...
sleep(minutes * 60)
Автор решения: KonneR
→ Ссылка
import telebot
import time
from multiprocessing import *
import schedule
class P_schedule(): # Class для работы с schedule
def start_schedule(): #Запуск schedule
######Параметры для schedule######
schedule.every().day.at("10:00").do(P_schedule.send_message1)
schedule.every(30).minutes.do(P_schedule.send_message2)
##################################
while True: #Запуск цикла
schedule.run_pending()
time.sleep(1)
def send_message1():
bot.send_message('id', 'Отправка сообщения по времени')
def send_message2():
bot.send_message('id', 'Отправка сообщения через определенное время')