如何安排电报机器人发送消息?

时间:2019-12-03 22:39:43

标签: python telegram-bot python-telegram-bot

我正在尝试创建一个Telegram机器人,该机器人在特定时间下午5:30发送消息。但是,a尝试的方法不正确。

我想触发与时间有关的send_message,而无需用户发送任何/ 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()

直到现在,我一直在尝试添加类似的内容,当然,它不是python而是一种伪代码,仅用于说明:

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

谢谢。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,则需要在发送消息之前检查系统时间,可以使用以下代码 [source]

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

要发送消息,您可以使用以下代码 [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 

要比较时间,可以使用:

if current_time=='17:30:00':
    test_send_message()