Пример #1
0
def main():
    sm.creatTable()
    updater = Updater(TOKEN, use_context=True,request_kwargs={'proxy_url': '填你自己的'})
    job = updater.job_queue
    dp = updater.dispatcher
    conv_handler = ConversationHandler(
        entry_points=[MessageHandler(Filters.regex('^Add$'), add)],
        states={
            TASK: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), getTask)],
            DATE: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), getDate)],
            INVALIDDATE: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), invalidDate)],
            TIME: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), getTime)],
            INVALIDTIME: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), invalidTime)]
        },
        fallbacks=[MessageHandler(Filters.regex('^Cancel$'), cancel)],
        allow_reentry = True
    )
    conv_handler2 = ConversationHandler(
        entry_points=[MessageHandler(Filters.regex('^Exam$'), exam)],
        states={
            RECESSDATE: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), getRecessDate)],
            EXAMDATE : [MessageHandler(Filters.regex('^((?!Cancel).)*$'), getExamDate)],
            EXAM : [MessageHandler(Filters.regex('^((?!Cancel).)*$'), addExam)],
            LEVEL: [MessageHandler(Filters.regex('^((?!Cancel).)*$'), addLevel)]
        },
        fallbacks=[MessageHandler(Filters.regex('^Cancel$'), examcancel)],
        allow_reentry = True
    )
    dp.add_error_handler(error)
    dp.add_handler(conv_handler)
    dp.add_handler(conv_handler2)
    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(CallbackQueryHandler(button))
    dp.add_handler(MessageHandler(Filters.regex('^List$'), list))
    dp.add_handler(MessageHandler(Filters.regex('^Remove'), remove))
    dp.add_handler(MessageHandler(Filters.regex('^Help$'), help))

    schedule.every().day.at("16:57").do(sendlistdaily)
    Thread(target=schedule_checker).start()
	
    
    updater.bot.setWebhook('https://yourownappname.herokuapp.com/' + TOKEN)
    updater.start_polling()
    updater.idle()