来自没有命令的电报机器人的消息(python)

Message from a telegram bot without a command(python)

我想每天在给定的时间发送一条消息(调用一个函数)。遗憾的是,message.reply_text('Test') 无法做到这一点。有什么办法可以做到这一点?我找不到任何东西。

这是我当前的代码:

import telegram.ext
from telegram.ext import CommandHandler, MessageHandler, Filters
import schedule
import time

API_KEY = 'XXXXXXXXXXX'   
updater = telegram.ext.Updater(API_KEY)
dispatcher = updater.dispatcher


def start(update, context):
    update.message.reply_text('Welcome!')


# problem:
def Test(update, context):
    update.message.reply_text('Works!!!')


# running special functions every Day at a given Time
schedule.every().day.at("10:00").do(Test)


while True:
    schedule.run_pending()
    time.sleep(1)


def main():
    # add handlers for start and help commands
    dispatcher.add_handler(CommandHandler("start", start))


    # start your bot
    updater.start_polling()
    # run the bot until Ctrl-C
    updater.idle()

日程部分有效,我只是不知道如何发送此消息。 感谢您的帮助!

消息字段内的更新对象具有 from 字段,该字段是包含用户 ID 的 User Telegram object .

一旦你有了用户的ID,你可以使用sendMessage的方式来轻松回复他。

总结一下,而不是:

update.message.reply_text('Welcome!')

你可以这样做:

user_id = update.message.from.id
updater.sendmessage(chat_id=user_id, text="Welcome!")