Как использовать Telegram Bot и функцию Sched в одном коде? - PullRequest
0 голосов
/ 09 июля 2019

Я хочу использовать функцию sched, которая запускается каждые две секунды, чтобы обновить переменную, и использовать бот-телеграмму, которая отправляет сообщение по запросу.Сообщение на телеграмме зависит от переменной, которую я обновляю.У меня есть две части кода, одна для sched, а другая для бота telegram.Когда я помещаю функцию sched перед кодом телеграммы, бот не работает.Когда я помещаю телеграмму перед расписанием, периодическая функция не работает.Я считаю, что эта проблема связана с циклом каждого кода.

Я попытался поместить основную функцию телеграммы в функцию сарая и наоборот, но она не сработала.

import sched, time
from telegram.ext import Updater, CommandHandler
import requests
import re

#Telegram code
def comportamento(bot, update):
    chat_id = update.message.chat_id
    bot.send_message(chat_id=chat_id, text=converte_result()+horario())
def main():
    updater = Updater('')
    dp = updater.dispatcher
    dp.add_handler(CommandHandler('comportamento',comportamento))
    dp.add_handler(CommandHandler('hello', hello))
    updater.start_polling()
    updater.idle()
if __name__ == '__main__':
    main()

#Sched function
s = sched.scheduler(time.time, time.sleep)
def executar_periodicamente(sc): 
    global dados_envio
    dados_envio = dados_recebidos()
    print(dados_envio)
    s.enter(2, 1, executar_periodicamente, (sc,))
s.enter(2, 1, executar_periodicamente, (s,))
s.run()
...