def __init__(self, max_download_size, download_path, lang, initial_state): self.db_manager = Database.get_instance() self.scheduler = CronJobManager.get_instance() self.logger = logging.getLogger(__name__) self.download_path = utils.get_abs_path(download_path) self.max_download_size = max_download_size self.lang = lang self.initial_state = initial_state self.PROCESS_PASSWORD = range( initial_state, initial_state + BookDownloadHandler.num_states ) self.entry_points = [CallbackQueryHandler( self.callback, pass_user_data=True )] self.states = { self.PROCESS_PASSWORD: [RegexHandler( '.*', self.process_password, pass_user_data=True )] } self.fallbacks=[RegexHandler('3248BC7547CE97B2A197B2A06CF7283D', self.cancel)] ConversationHandler.__init__( self, entry_points=self.entry_points, states=self.states, fallbacks=self.fallbacks, per_chat=False )
def __init__(self, conversation_action, writer_factory, *args, **kwargs): """ :type conversation_action: ConversationActionMixin :type writer_factory: telegram_service.writer.WriterFactory """ ActionHandler.__init__(self, conversation_action, writer_factory, *args, **kwargs) ConversationHandler.__init__( self, entry_points=[ CommandActionHandler(conversation_action.entry_action, writer_factory) ], states={ 1: [ RegexActionHandler(conversation_action.yes_callback, writer_factory) ], }, fallbacks=[Handler(conversation_action.no_callback)])
def __init__(self, lang, language_codes, initial_state): self.db_manager = Database.get_instance() self.scheduler = CronJobManager.get_instance() self.logger = logging.getLogger(__name__) self.lang = lang self.language_codes = language_codes self.initial_state = initial_state self.LANGUAGE, self.EMAIL, self.PASSWORD, self.STORE_PASS = range( initial_state, initial_state + StartWizard.num_states) self.entry_points = [CommandHandler('start', self.start)] self.states = { self.LANGUAGE: [RegexHandler('.*', self.language)], self.EMAIL: [RegexHandler('.*', self.email)], self.STORE_PASS: [RegexHandler('.*', self.save_credentials)], self.PASSWORD: [RegexHandler('.*', self.password)], } self.fallbacks = [ CommandHandler('10aec35353f9c4096a71c38654c3d402', self.cancel) ] ConversationHandler.__init__(self, entry_points=self.entry_points, states=self.states, fallbacks=self.fallbacks)
def __init__(self, lang, language_codes, initial_state): self.db_manager = Database.get_instance() self.scheduler = CronJobManager.get_instance() self.lang = lang self.language_codes = language_codes self.initial_state = initial_state self.CONFIG, self.PROCESS_LANGUAGE, self.PROCESS_ACCOUNT, \ self.PROCESS_LIBRARY, self.PROCESS_EMAIL, self.PROCESS_PASSWORD, \ self.PROCESS_CREDENTIALS, self.PROCESS_UPDATE_LIBRARY_PASSWORD, \ self.PROCESS_FILE_FORMAT = range( initial_state, initial_state + ConfigWizard.num_states ) self.entry_points = [ CommandHandler('config', self.request_config_menu) ] self.states = { self.CONFIG: [RegexHandler( self.mc_ml_regex(['language','account', 'library', 'exit']), self.config_menu )], self.PROCESS_LANGUAGE: [RegexHandler( '.*', self.process_language )], self.PROCESS_ACCOUNT: [RegexHandler( self.mc_ml_regex( [ 'email', 'password', 'save_credentials', 'back' ] ), self.account )], self.PROCESS_LIBRARY: [RegexHandler( self.mc_ml_regex( [ 'update_library', 'file_format', 'back' ] ), self.process_library )], self.PROCESS_EMAIL: [RegexHandler( '.*', self.process_email )], self.PROCESS_PASSWORD: [RegexHandler( '.*', self.process_password )], self.PROCESS_CREDENTIALS: [RegexHandler( self.mc_ml_regex(['yes', 'no']), self.process_save_credentials )], self.PROCESS_UPDATE_LIBRARY_PASSWORD: [RegexHandler('.*', self.process_password_update_library )], self.PROCESS_FILE_FORMAT: [RegexHandler( '^(' + self.lang['common']['zip'] + '|' \ + self.lang['common']['pdf'] + '|' \ + self.lang['common']['epub'] + ')$', self.process_file_format )] } self.fallbacks = [ RegexHandler('3248BC7547CE97B2A197B2A06CF7283D', self.cancel) ] ConversationHandler.__init__(self, entry_points=self.entry_points, states=self.states, fallbacks=self.fallbacks)