how to schedule a telegram bot to send a message?

12,136

If I understand correctly, you need to check your system time before sending a message, you could use the following code [source]:

from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)

To send a message you could use the following code [source]:

def test_send_message():
        text = 'CI Test Message'
        tb = telebot.TeleBot(TOKEN)
        ret_msg = tb.send_message(CHAT_ID, text)
        assert ret_msg.message_id 

To compare the time, you may use:

if current_time=='17:30:00':
    test_send_message()
Share:
12,136

Related videos on Youtube

Kanayel
Author by

Kanayel

Updated on June 04, 2022

Comments

  • Kanayel
    Kanayel almost 2 years

    I am trying to create a Telegram bot that sends a message at a specific time, 5:30pm. However, the ways a was trying are not correct.

    I wanted to trigger send_message regarding to the time and without the necessity of the user to send any /command.

    import telebot
    import datetime
    
    TOKEN = 'MyToken'
    bot = telebot.TeleBot(TOKEN)
    
    
    @bot.message_handler(commands=['start'])
    def send_welcome(message):
        message_id=message.chat.id
        bot.reply_to(message,"Welcome")
    
    
    bot.polling()
    

    Until now I was trying to add something like that, of course it is not python but kind of pseudocode just to explain:

    if currenttime=17:30
     send_message(idchat, "mymessage")
    

    Thank you in advance.

  • Kanayel
    Kanayel over 4 years
    Yes, this is what I want but I don't know how to integrate it with the python API of Telegram
  • Nathan
    Nathan over 4 years
    You might be looking for this? stackoverflow.com/questions/48288124/…