def done(bot, update, user_data, chat_data): telegram_info = update._effective_user try: chat_id = update.callback_query.message.chat.id except Exception: chat_id = update.message.chat.id try: flogger.info(log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='done')) bot.sendPhoto( chat_id=chat_id, photo=REDIS.direct_read('MAYDAY-BOT-CONFIG-GOODBYE_PHOTO_ID'), caption=conversations.MAIN_PANEL_DONE) return stages.END except Exception: bot.sendPhoto( chat_id=chat_id, photo=REDIS.direct_read('MAYDAY-BOT-CONFIG-GOODBYE_PHOTO_URL'), caption=conversations.MAIN_PANEL_DONE) msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='done_catch_miss', extra=str(update), trace_back=str(traceback.format_exc())) flogger.warning(msg) return stages.END
def fill_type_in_field(bot, update, user_data): try: telegram_info = update._effective_user text = update.message.text ticket = update_helper.update_cache(user_id=telegram_info.id, username=telegram_info.username, content=text) flatten_ticket = update_helper.flatten(ticket) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=text, rtn_ticket=ticket) flogger.info(msg) update.message.reply_text( text=conversations.UPDATE_YOURS.format_map(flatten_ticket), reply_markup=KEYBOARDS.update_ticket_keyboard_markup) return stages.UPDATE_SELECT_FIELD except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=text, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def timeout(bot, update, chat_data): try: chat_id = update.callback_query.message.chat.id except Exception: chat_id = update.message.chat.id try: telegram_info = update._effective_user msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='timeout' ) flogger.info(msg) bot.edit_message_text( chat_id=chat_id, message_id=update.callback_query.message.message_id, text=conversations.MAIN_PANEL_TIMEOUT) return stages.END except Exception: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='timeout', extra=str(update) ) flogger.warning(msg) bot.sendMessage( chat_id=chat_id, text=conversations.MAIN_PANEL_TIMEOUT ) return stages.END
def fill_in_field(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message if message: telegram_info = update._effective_user ticket = update_helper.update_cache( user_id=telegram_info.id, username=telegram_info.username, content=callback_data) flatten_ticket = update_helper.flatten(ticket) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=ticket) flogger.info(msg) bot.edit_message_text( text=conversations.UPDATE_YOURS.format_map(flatten_ticket), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.update_ticket_keyboard_markup) return stages.UPDATE_SELECT_FIELD else: return stages.UPDATE_FILL_VALUE except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def start(bot, update, user_data, chat_data): try: telegram_info = update._effective_user auth = authenticator.auth(telegram_info) flogger.info('user: {}, username:{}, auth:{}'.format(telegram_info.id, telegram_info.username, auth)) if auth.is_username_valid is False: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='auth', error='username is missing' ) flogger.warning(msg) update.message.reply_text(conversations.MAIN_PANEL_USERNAME_MISSING) return stages.END if auth.is_admin: # TODO: Add Admin Panel pass if auth.is_banned: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='auth', error='banned' ) flogger.warning(msg) update.message.reply_text(conversations.MAIN_PANEL_YELLOWCOW) return stages.END if auth.status: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='auth', ) flogger.info(msg) update.message.reply_text(conversations.MAIN_PANEL_REMINDER) time.sleep(0.5) bot.sendMessage( chat_id=update.message.chat.id, text=conversations.MAIN_PANEL_START.format_map({'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup ) return stages.MAIN_PANEL except Exception: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='start', extra=str(update), trace_back=str(traceback.format_exc()) ) flogger.error(msg)
def start(bot, update, user_data): try: telegram_info = update._effective_user callback_data = update.callback_query.data ticket = quick_search_helper.init_cache( user_id=telegram_info.id, username=telegram_info.username) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( text=conversations.QUICK_SEARCH_START, chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, reply_markup=KEYBOARDS.quick_search_start_keyboard_markup, parse_mode=telegram.ParseMode.MARKDOWN) return stages.QUICK_SEARCH_MODE_SELECTION except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def fill_type_in_field(bot, update, user_data): try: telegram_info = update._effective_user text = update.message.text ticket = post_helper.update_cache(user_id=telegram_info.id, username=telegram_info.username, content=text) flatten_ticket = post_helper.flatten(ticket) category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=text, rtn_ticket=ticket)) update.message.reply_text( text=conversations.POST_TICKET_START.format_map(flatten_ticket), reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id)) return stages.POST_SELECT_FIELD except Exception: flogger.error( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=text, extra=str(update), trace_back=str(traceback.format_exc()))) return stages.END
def start(bot, update, user_data): try: callback_data = update.callback_query.data telegram_info = update._effective_user ticket = post_helper.init_cache(user_id=telegram_info.id, username=telegram_info.username) category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data)) bot.edit_message_text( text=conversations.POST_TICKET_START.format_map( post_helper.flatten(ticket)), chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id)) return stages.POST_SELECT_FIELD except Exception: flogger.error( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())))
def fill_in_field(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) if re.match(r'\d+||^([A-Z0-9]){2}$', callback_data): ticket = post_helper.update_cache(user_id=telegram_info.id, username=telegram_info.username, content=callback_data) flatten_ticket = post_helper.flatten(ticket) flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=ticket)) bot.edit_message_text( text=conversations.POST_TICKET_START.format_map( flatten_ticket), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id)) return stages.POST_SELECT_FIELD else: ticket = post_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) choice = post_helper.get_last_choice(user_id=telegram_info.id) keyboard = KEYBOARDS.conditions_keyboard_mapping.get(choice) flatten_ticket = post_helper.flatten(ticket) text = '\n\n'.join([ conversations.TYPE_IN_ERROR, conversations.POST_TICKET_INFO.format_map( {'message': TICKET_MAPPING.get(choice)}) ]) bot.edit_message_text(text=text, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=keyboard) flogger.warning( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=ticket, extra=str(update))) except Exception: flogger.error( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc()))) return stages.END
def select_ticket(bot, update, user_data): try: telegram_info = update._effective_user callback_data = update.callback_query.data if callback_data == 'mainpanel': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup) return stages.MAIN_PANEL if re.match(r'\d+', callback_data): ticket = request_helper.send_search_ticket_by_ticket_id( ticket_id=callback_data) update_helper.set_cache(user_id=telegram_info.id, content=ticket['info']) flatten_ticket = update_helper.flatten(ticket['info']) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=ticket) flogger.info(msg) bot.edit_message_text( text=conversations.UPDATE_YOURS.format_map(flatten_ticket), chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, reply_markup=KEYBOARDS.update_ticket_keyboard_markup) return stages.UPDATE_SELECT_FIELD except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def start(bot, update, user_data): telegram_info = update._effective_user message = update.callback_query.message callback_data = update.callback_query.data events = request_helper.get_sp_events().get('info') keyboard = sp_helper.generate_keyboard(events) msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_query=events ) flogger.info(msg) if events: bot.edit_message_text( text=conversations.SUPPORT_LIST_EVENTS, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=keyboard ) else: bot.edit_message_text( text=conversations.SUPPORT_NONE_EVENTS, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.return_main_panal ) return stages.SUPPORT_EVENT_LIST
def backward(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user ticket = update_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) if callback_data == 'backward': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( text=conversations.UPDATE_YOURS.format_map( update_helper.flatten(ticket)), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.search_ticket_keyboard_markup) return stages.UPDATE_SELECT_TICKET if callback_data == 'mainpanel': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( chat_id=telegram_info.id, message_id=message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup) return stages.MAIN_PANEL except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def start(bot, update, user_data): try: telegram_info = update._effective_user message = update.callback_query.message callback_data = update.callback_query.data tickets = request_helper.send_search_my_ticket(userid=telegram_info.id) if tickets['status'] and tickets['info']: tickets = tickets['info'] ticket_ids = update_helper.extract_ticket_ids(tickets) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=tickets) flogger.info(msg) bot.edit_message_text( text=update_helper.tickets_tostr(tickets), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=update_helper.list_tickets_on_reply_keyboard( ticket_ids)) return stages.UPDATE_SELECT_TICKET else: flogger.debug(tickets) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text(chat_id=telegram_info.id, message_id=message.message_id, text=conversations.NONE_RECORD, reply_markup=KEYBOARDS.return_main_panal) return stages.MAIN_PANEL except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def stats(bot, update, user_data): telegram_info = update._effective_user message = update.callback_query.message msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='stats', ) flogger.info(msg) stmt = pf_helper.get_stat() bot.edit_message_text(text=stmt, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.return_main_panal, parse_mode=telegram.ParseMode.MARKDOWN) return stages.TICKET_STAT_LIST
def backward(bot, update, user_data): callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user if callback_data == 'mainpanel': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text(chat_id=telegram_info.id, message_id=message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup) return stages.MAIN_PANEL
def select_mode(bot, update, user_data): try: telegram_info = update._effective_user callback_data = update.callback_query.data message = update.callback_query.message if callback_data == 'mainpanel': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( chat_id=telegram_info.id, message_id=message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup, parse_mode=telegram.ParseMode.MARKDOWN) return stages.MAIN_PANEL if callback_data == 'cached_condition': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) search.quick_search_start(bot, update, user_data) return stages.QUICK_SEARCH_LIST if callback_data == 'matching_my_ticket': if quick_search_helper.get_lastest_auth(telegram_info) is False: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='auth', error='banned') flogger.warning(msg) update.message.reply_text(conversations.MAIN_PANEL_YELLOWCOW) return stages.END bot.send_chat_action(chat_id=telegram_info.id, action=chataction.ChatAction.TYPING) result = quick_search_helper.get_my_ticket_matching( user_id=telegram_info.id) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=result) flogger.info(msg) if result.get('status'): tickets = result.get('info') if (tickets and len(tickets) <= 25): bot.send_message(text=conversations.SEARCH_WITH_RESULTS, chat_id=telegram_info.id, message_id=message.message_id) traits = quick_search_helper.generate_tickets_traits( tickets) for trait in traits: bot.send_message( text=quick_search_helper.tickets_tostr(trait), chat_id=telegram_info.id, message_id=message.message_id) elif len(tickets) > 25: bot.edit_message_text( text=conversations.SEARCH_TOO_MUCH_TICKETS, chat_id=telegram_info.id, message_id=message.message_id) else: bot.edit_message_text( text=conversations.SEARCH_WITHOUT_TICKETS, chat_id=telegram_info.id, message_id=message.message_id) bot.send_message( text=conversations.AND_THEN, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.quick_search_start_keyboard_markup, ) else: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=result) flogger.error(msg) bot.send_message(text=conversations.SEARCH_TICKET_ERROR, chat_id=telegram_info.id, message_id=message.message_id) query = quick_search_helper.get_cache( user_id=telegram_info.id, username=telegram_info.username) bot.send_message( text=conversations.QUICK_SEARCH_START, chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, reply_markup=KEYBOARDS.quick_search_start_keyboard_markup, parse_mode=telegram.ParseMode.MARKDOWN) return stages.QUICK_SEARCH_MODE_SELECTION except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def submit(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) if callback_data == 'reset': ticket = post_helper.reset_cache(user_id=telegram_info.id, username=telegram_info.username) flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data)) bot.edit_message_text( text=conversations.POST_TICKET_START.format_map( post_helper.flatten(ticket)), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id)) return stages.POST_SELECT_FIELD if callback_data == 'submit': # Kick banned user out! if post_helper.get_lastest_auth(telegram_info) is False: update.message.reply_text(conversations.MAIN_PANEL_YELLOWCOW) return stages.END ticket = post_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=ticket)) result = request_helper.send_ticket_insert(ticket) if result.get('status'): flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=result)) bot.edit_message_text(text=conversations.POST_TICKET_INTO_DB, chat_id=telegram_info.id, message_id=message.message_id) else: flogger.warning( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, error=result)) bot.edit_message_text(text=conversations.POST_TICKET_ERROR, chat_id=telegram_info.id, message_id=message.message_id) bot.send_message(text=conversations.AND_THEN, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.after_submit_keyboard) return stages.POST_SUBMIT except Exception: flogger.error( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())))
def list_events(bot, update, user_data): telegram_info = update._effective_user message = update.callback_query.message callback_data = update.callback_query.data events = request_helper.get_sp_events().get('info') keyboard = sp_helper.generate_keyboard(events) event_mapping = sp_helper.generate_event_mapping(events) if callback_data == 'mainpanel': msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_query=events ) flogger.info(msg) bot.edit_message_text( text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.actions_keyboard_markup ) return stages.MAIN_PANEL elif re.match(r'\d+', callback_data): msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_query=events ) flogger.info(msg) event = event_mapping.get(int(callback_data)) if event: if event.get('type') == 'photo': bot.send_photo( chat_id=telegram_info.id, photo=event.get('attachment_id'), caption=event.get('description'), reply_markup=keyboard, parse_mode=telegram.ParseMode.MARKDOWN ) elif event.get('type') == 'document': bot.send_document( chat_id=telegram_info.id, document=event.get('attachment_id'), caption=event.get('description'), reply_markup=keyboard, parse_mode=telegram.ParseMode.MARKDOWN ) else: bot.edit_message_text( text=event.get('description'), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=keyboard ) return stages.SUPPORT_EVENT_LIST
def route(bot, update, user_data, chat_data): try: telegram_info = update._effective_user callback_data = update.callback_query.data flogger.info("user_data: {}, update: {}".format(user_data, update)) msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, ) flogger.info(msg) if callback_data == 'info': telegram_info = update._effective_user bot.edit_message_text( text=conversations.INFO, chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, reply_markup=KEYBOARDS.actions_keyboard_markup ) return stages.MAIN_PANEL if callback_data == 'post': post_ticket.start(bot, update, user_data) return stages.POST_SELECT_FIELD if callback_data == 'search': search.start(bot, update, user_data) return stages.SEARCH_SELECT_FIELD if callback_data == 'stats': platform_stats.stats(bot, update, user_data) return stages.TICKET_STAT_LIST if callback_data == 'my_ticket': update_ticket.start(bot, update, user_data) return stages.UPDATE_SELECT_TICKET if callback_data == 'events': support.start(bot, update, user_data) return stages.SUPPORT_EVENT_LIST if callback_data == 'quick_search': quick_search.start(bot, update, user_data) return stages.QUICK_SEARCH_MODE_SELECTION if callback_data == 'bye': done(bot, update, user_data, chat_data) return stages.END except Exception: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data='done', extra=str(update), trace_back=str(traceback.format_exc()) ) flogger.error(msg)
def select_field(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user post_helper.set_last_choice(user_id=telegram_info.id, content=callback_data) category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) flogger.info(callback_data) if callback_data == 'reset': ticket = post_helper.reset_cache(user_id=telegram_info.id, username=telegram_info.username) flogger.info( log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, )) bot.edit_message_text( text=conversations.POST_TICKET_START.format_map( post_helper.flatten(ticket)), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id), parse_mode=telegram.ParseMode.MARKDOWN) return stages.POST_SELECT_FIELD elif callback_data == 'check': ticket = post_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) check_result = TicketValidator(ticket).check_ticket() check_wishlist_result = WishlistValidator(ticket).check_wishlist() category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) if check_result.status: if check_wishlist_result.status is False: ticket = post_helper.fill_in_wishlist( ticket, check_wishlist_result.info) flatten_ticket = post_helper.flatten(ticket) flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=ticket)) bot.edit_message_text( text=conversations.POST_TICKET_CHECK.format_map( flatten_ticket), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.before_submit_post_keyboard_markup) return stages.POST_BEFORE_SUBMIT else: flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, error=check_result['info'])) bot.send_message(text=conversations.TYPE_IN_WARNING.format_map( {'error_message': check_result['info']}), chat_id=telegram_info.id, message_id=message.message_id) bot.send_message( text=conversations.POST_TICKET_START.format_map( post_helper.flatten(ticket)), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id)) return stages.POST_SELECT_FIELD elif callback_data == 'section': ticket = post_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) category_id = post_helper.get_category_id_from_cache( user_id=telegram_info.id, username=telegram_info.username) if ticket.get('price_id'): bot.edit_message_text( text=conversations.POST_TICKET_INFO.format_map( {'message': TICKET_MAPPING.get(callback_data)}), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.conditions_keyboard_mapping.get( callback_data).get(ticket.get('price_id'))) return stages.POST_FILL_VALUE else: bot.edit_message_text( text=conversations.POST_TICKET_SECTION, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.post_ticket_keyboard_markup.get( category_id)) return stages.POST_SELECT_FIELD elif callback_data == 'mainpanel': flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data)) bot.edit_message_text( chat_id=telegram_info.id, message_id=message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup) return stages.MAIN_PANEL else: flogger.info( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data)) bot.edit_message_text( text=conversations.POST_TICKET_INFO.format_map( {'message': TICKET_MAPPING.get(callback_data)}), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.conditions_keyboard_mapping.get( callback_data)) return stages.POST_FILL_VALUE except Exception: flogger.error( log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())))
def select_field(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user update_helper.set_last_choice(user_id=telegram_info.id, content=callback_data) flogger.info(callback_data) if callback_data == 'mainpanel': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup) return stages.MAIN_PANEL elif callback_data == 'check': ticket = update_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) flatten_ticket = update_helper.flatten(ticket) msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=ticket) flogger.info(msg) bot.edit_message_text( text=conversations.UPDATE_CHECK.format_map(flatten_ticket), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.before_submit_post_keyboard_markup) return stages.UPDATE_BEFORE_SUBMIT else: msg = log_util.get_ub_log( user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, ) flogger.info(msg) bot.edit_message_text( text=conversations.UPDATE_INFO.format_map( {'message': TICKET_MAPPING.get(callback_data)}), chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.conditions_keyboard_mapping.get( callback_data)) return stages.UPDATE_FILL_VALUE except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)
def submit(bot, update, user_data): try: callback_data = update.callback_query.data message = update.callback_query.message telegram_info = update._effective_user if callback_data == 'mainpanel': msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data) flogger.info(msg) bot.edit_message_text( chat_id=telegram_info.id, message_id=update.callback_query.message.message_id, text=conversations.MAIN_PANEL_START.format_map( {'username': telegram_info.username}), reply_markup=KEYBOARDS.actions_keyboard_markup) return stages.MAIN_PANEL if callback_data == 'submit': # Kick banned user out! if update_helper.get_lastest_auth(telegram_info) is False: update.message.reply_text(conversations.MAIN_PANEL_YELLOWCOW) return stages.END ticket = update_helper.get_cache(user_id=telegram_info.id, username=telegram_info.username) result = request_helper.send_ticket_update(ticket) if result.get('status'): msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=result) flogger.info(msg) bot.edit_message_text(text=conversations.UPDATE_INTO_DB, chat_id=telegram_info.id, message_id=message.message_id) else: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, rtn_ticket=result) flogger.warning(msg) bot.edit_message_text( text=conversations.UPDATE_ERROR, chat_id=telegram_info.id, message_id=message.message_id, ) bot.send_message(text=conversations.AND_THEN, chat_id=telegram_info.id, message_id=message.message_id, reply_markup=KEYBOARDS.after_submit_keyboard) return stages.UPDATE_SUBMIT except Exception: msg = log_util.get_ub_log(user_id=telegram_info.id, username=telegram_info.username, funcname=__name__, callback_data=callback_data, extra=str(update), trace_back=str(traceback.format_exc())) flogger.error(msg)