我正在尝试创建一个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")
谢谢。
答案 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()