как сделать отправку каждые 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', 'Отправка сообщения через определенное время')
→ Ссылка