来自没有命令的电报机器人的消息(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!")
我想每天在给定的时间发送一条消息(调用一个函数)。遗憾的是,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!")