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.
2
Answers
If I understand correctly, you need to check your system time before sending a message, you could use the following code [source]:
To send a message you could use the following code [source]:
To compare the time, you may use:
You can use schedule python library.
First of all import the necessary modules
Then you have to create a function that will repeat in every x time.
Here the bot will send me message in every 5 seconds.
For more informations about schedule Read the documentation