def estimates_handler(message: Message): chat_id = message.chat.id user_id = message.from_user.id user = users.get_user_by_telegram_id(user_id) if not user.dispatcher: empty_message = strings.get_string('estimates.no_dispatcher', user.language) Navigation.to_main_menu(user, chat_id, empty_message) return _to_estimates(user, chat_id, user.dispatcher)
def start_handler(message: Message): user_id = message.from_user.id chat_id = message.chat.id def not_allowed(): not_allowed_message = strings.get_string('registration.not_allowed') remove_keyboard = keyboards.get_keyboard('remove') telegram_bot.send_message(chat_id, not_allowed_message, reply_markup=remove_keyboard) current_user = users.get_user_by_telegram_id(user_id) if current_user: main_menu_keyboard = keyboards.get_main_keyboard_by_user_role( current_user) answer_text = strings.get_string( 'registration.user_exists', current_user.language).format(name=current_user.name) telegram_bot.send_message(chat_id, answer_text, reply_markup=main_menu_keyboard, parse_mode='HTML') return msg_text = message.text message_text_parts = msg_text.split(' ') try: token = message_text_parts[1] except IndexError: not_allowed() return user = users.get_user_by_token(token) if not user: not_allowed() return confirmation_result = users.confirm_user(user, user_id) if confirmation_result is True: if user.is_manager: welcome_message = strings.get_string( 'registration.welcome_manager').format(name=user.name) else: welcome_message = strings.get_string( 'registration.welcome_common').format(name=user.name) telegram_bot.send_message(chat_id, welcome_message, parse_mode='HTML') language_message = strings.get_string('registration.languages') language_keyboard = keyboards.get_keyboard('registration.languages') telegram_bot.send_message(chat_id, language_message, reply_markup=language_keyboard) telegram_bot.register_next_step_handler_by_chat_id(chat_id, language_processor, user=user) pass else: not_allowed() return
def sos_handler(message: Message): location = message.location latitude = location.latitude longitude = location.longitude user_id = message.from_user.id chat_id = message.chat.id user = users.get_user_by_telegram_id(user_id) sos_signal = sos.create_sos(user, latitude, longitude) success_message = strings.get_string('sos.success', user.language) telegram_bot.send_message(chat_id, success_message) Helpers.send_sos_signal_to_managers(sos_signal, user)
def empty_message(message: Message): user_id = message.from_user.id chat_id = message.chat.id def not_allowed(): not_allowed_message = strings.get_string('registration.not_allowed') remove_keyboard = keyboards.get_keyboard('remove') telegram_bot.send_message(chat_id, not_allowed_message, reply_markup=remove_keyboard) current_user = users.get_user_by_telegram_id(user_id) if current_user: Navigation.to_main_menu(current_user, chat_id) else: not_allowed()
def ratings_handler(message: Message): chat_id = message.chat.id user = users.get_user_by_telegram_id(message.from_user.id) _to_companies_select(user, chat_id)
def sos_handler(message: Message): user_id = message.from_user.id chat_id = message.chat.id user = users.get_user_by_telegram_id(user_id) _to_select_department(user, chat_id)
def settings_handler(message: Message): chat_id = message.chat.id user_id = message.from_user.id user = users.get_user_by_telegram_id(user_id) Navigation.to_settings(user, chat_id)
def _auth(message: Message) -> Optional[User]: user_id = message.from_user.id user = users.get_user_by_telegram_id(user_id) if not user: return None return user
def estimates_handler(message: Message): chat_id = message.chat.id user_id = message.from_user.id user = users.get_user_by_telegram_id(user_id) _to_departments_select(user, chat_id)