def start(self, initial_message: RequestEntity):
        users_entities = self.user_dao.fetch_users_usernames()
        users_info = self._get_users_info_list_message(
            users_entities=users_entities)
        response_entity = make_html_response(
            request_entity=initial_message,
            message=
            (f'Введи имя бойца, которому хочешь начислить победу или поражение:\n'
             f'{users_info}'),
        )
        username_telegram_request: RequestEntity = self.ask(response_entity)

        username = username_telegram_request.message
        user_entity = self.user_dao.try_to_get_user_entity_by_username(
            username=username)
        if not user_entity:
            response_entity = make_html_response(
                request_entity=initial_message,
                message=
                (f'Браток, тебя что контроллер оприходовал? Бойца с именем <i>{username}</i> в наших краях нету.\n'
                 f'Возвращайся, когда вспомнишь как его зовут: <b>/{constants.TELEGRAM_COMMAND_WINLOSE}</b>'
                 ),
            )
            self.finish(response_entity)

        response_entity = make_html_response(
            request_entity=initial_message,
            message=(
                f'Напиши <b>1</b>, если {username} одержал победу на арене.\n'
                f'Напиши <b>2</b>, если он пал в честном бою.'),
        )
        win_or_lose: RequestEntity = self.ask(response_entity)
        if win_or_lose.message not in ('1', '2'):
            response_entity = make_html_response(
                request_entity=initial_message,
                message=
                (f'Тебя видно кровосос подсосал.\n'
                 f'Отдохни и приходи еще: <b>/{constants.TELEGRAM_COMMAND_WINLOSE}</b>'
                 ),
            )
            self.finish(response_entity)

        if win_or_lose.message == '1':
            self.win_lose_service.win(username=username)
        else:
            self.win_lose_service.loose(username=username)

        users_entities = self.user_dao.fetch_users_usernames()
        users_info = self._get_users_info_list_message(
            users_entities=users_entities)
        response_entity = make_html_response(
            request_entity=initial_message,
            message=(f'Учтено. Актуальный рейтинг сталкеров:\n'
                     f'{users_info}'),
        )
        self.finish(response_entity)
Ejemplo n.º 2
0
 def start(self, initial_message: RequestEntity):
     response_entity = make_html_response(
         request_entity=initial_message,
         message=(
             f'Вот список команд. Ознакомься и говори, чего хочешь.\n'
             f'{get_html_commands_description()}'
         ),
     )
     self.finish(response_entity)
Ejemplo n.º 3
0
    def start(self, initial_message: RequestEntity):
        response_entity = make_text_response(
            request_entity=initial_message,
            message=(
                'Короче, беженец, я тебя спас и в благородство играть не буду. '
                'Ты на арене горячее мясо и должен принести мне деньжат, '
                'рыпаться не советую, постараешься - живым уйдешь, еще и хабар нехилый прихватишь.'
            ),
        )
        self.say(response_entity)

        response_entity = make_text_response(
            request_entity=initial_message,
            message=(
                'Это твоя новая жизнь и имя тоже будет новое. Как звать тебя будем новичок?'
            ),
        )
        username_telegram_request: RequestEntity = self.ask(response_entity)
        while True:
            username = username_telegram_request.message
            user_entity = self.user_dao.try_to_get_user_entity_by_username(username=username)
            if user_entity:
                response_entity = make_html_response(
                    request_entity=initial_message,
                    message=(
                        f'Придумай что-нибудь пооригинальней, чем <b>{username}</b>. У нас таки пол арены ходит.'
                    ),
                )
                username_telegram_request: RequestEntity = self.ask(response_entity)
            else:
                user_entity = self.user_dao.create_user(
                    user_id=response_entity.user_id,
                    chat_id=response_entity.chat_id,
                    username=username,
                )
                response_entity = make_html_response(
                    request_entity=initial_message,
                    message=(
                        f'Хорошо, <b>{user_entity.username}</b>. Посмотрим на что ты способен, <i>салага</i>.\n'
                        f'Сейчас твой рейтинг <b>{user_entity.rate}</b>\n'
                        f'Если что-то понадобиться, обращайся: <b>/{constants.TELEGRAM_COMMAND_HELP}</b>'
                    ),
                )
                self.finish(response_entity)
Ejemplo n.º 4
0
 def start(self, initial_message: RequestEntity):
     users_entities = self.user_dao.fetch_users_usernames()
     users_info = self._get_users_info_list_message(
         users_entities=users_entities)
     response_entity = make_html_response(
         request_entity=initial_message,
         message=(f'Вот последние списки мясников с арены:\n'
                  f'{users_info}'),
     )
     self.finish(response_entity)
Ejemplo n.º 5
0
 def start(self, initial_message: RequestEntity):
     user_entity = self.user_dao.try_to_get_user_entity_by_user_id(
         user_id=initial_message.user_id)
     response_entity = make_html_response(
         request_entity=initial_message,
         message=
         (f'Приветствую, <b>{user_entity.username}</b>. Ты - <i>{user_entity.rank.value}</i>.\n'
          f'У тебя <b>{user_entity.wins}</b> побед и <b>{user_entity.looses}</b> поражений.\n'
          ),
     )
     self.finish(response_entity)
Ejemplo n.º 6
0
    def start(self, initial_message: RequestEntity):
        user_entity = self.user_dao.try_to_get_user_entity_by_user_id(
            user_id=initial_message.user_id_reply_to)
        if not user_entity:
            response_entity = make_html_response(
                request_entity=initial_message,
                message=
                (f'Я таких не знаю, сначала пусть придет и запишется на арену.'
                 ),
            )
            self.finish(response_entity)

        response_entity = make_html_response(
            request_entity=initial_message,
            message=
            (f'<b>{user_entity.username}</b> - <i>{user_entity.rank.value}</i>.\n'
             f'Побед: <b>{user_entity.wins}</b>, поражений: <b>{user_entity.looses}</b>.\n'
             ),
        )
        self.finish(response_entity)