Exemplo n.º 1
0
def handle_dialog(res, req):
    user_id = req['session']['user_id']
    if req['session']['new']:
        res['response']['text'] = 'Привет! Назови своё имя!'
        sessionStorage[user_id] = {
            'first_name': None,
        }
        return
    if sessionStorage[user_id]['first_name'] is None:
        first_name = get_first_name(req)
        if first_name is None:
            res['response']['text'] = 'Не расслышала имя. Повтори, пожалуйста!'
        else:
            sessionStorage[user_id]['first_name'] = first_name
            sessionStorage[user_id]['guessed_cities'] = []
            res['response'][
                'text'] = f'Приятно познакомиться, {first_name.title()}. Я Алиса. Я могу показать город или сказать расстояние между городами!'
    else:
        cities = get_cities(req)
        if not cities:
            res['response']['text'] = sessionStorage[user_id][
                'first_name'] + ', ты не написал название не одного города!'
        elif len(cities) == 1:
            res['response']['text'] = 'Этот город в стране - ' + \
                get_country(cities[0])
        elif len(cities) == 2:
            distance = get_distance(get_coordinates(cities[0]),
                                    get_coordinates(cities[1]))
            res['response']['text'] = 'Расстояние между этими городами: ' + \
                str(round(distance)) + ' км.'
        else:
            res['response']['text'] = sessionStorage[user_id][
                'first_name'] + ', cлишком много городов!'
Exemplo n.º 2
0
def handle_dialog(res, req):
    user_id = req['session']['user_id']

    if req['session']['new']:
        res['response'][
            'text'] = 'Привет! Я могу сказать в какой стране город или сказать расстояние между городами!'

        return

    cities = get_cities(req)

    if len(cities) == 0:

        res['response']['text'] = 'Ты не написал название не одного города!'

    elif len(cities) == 1:

        res['response']['text'] = 'Этот город в стране - ' + get_country(
            cities[0])

    elif len(cities) == 2:

        distance = get_distance(get_coordinates(cities[0]),
                                get_coordinates(cities[1]))
        res['response']['text'] = 'расстояние между этими городами: ' + str(
            round(distance)) + ' км.'

    else:

        res['response']['text'] = 'Слишком много городов!'
Exemplo n.º 3
0
def handle_dialog(res, req):

    user_id = req['session']['user_id']

    if req['session']['new']:

        res['response'][
            'text'] = 'Привет! Я могу сказать в какой стране город или сказать расстояние между городами!'

        return

    cities = get_cities(req)

    if len(cities) == 0:

        res['response'][
            'text'] = 'Ты не написал название не одного города!'

    elif len(cities) == 1:

        res['response'][
            'text'] = 'Этот город в стране - ' + get_country(
                cities[0])

    elif len(cities) == 2:

        distance = get_distance(get_coordinates(cities[0]),
                                get_coordinates(cities[1]))
        res['response'][
            'text'] = 'Расстояние между этими городами: ' + str(
                round(distance)) + ' РєРј.'

    else:

        res['response']['text'] = 'Слишком много городов!'
Exemplo n.º 4
0
def handle_dialog(res, req):
    user_id = req['session']['user_id']
    if req['session']['new']:
        res['response']['text'] = \
            'Привет! Я могу показать город или сказать расстояние между городами! ' \
            'Но сначала скажи своё имя!'
        sessionStorage[user_id] = {'first_name': None}
        return

    if sessionStorage[user_id]['first_name'] is None:
        first_name = get_first_name(req)
        if first_name is None:
            res['response']['text'] = 'Не расслышала имя. Повтори, пожалуйста!'
            return
        else:
            sessionStorage[user_id]['first_name'] = first_name
            res['response'][
                'text'] = f'Хорошо, {first_name.title()}. Напиши название города или 2-ух!'
            return
    cities = get_cities(req)
    if not cities:
        res['response']['text'] = f'{sessionStorage[user_id]["first_name"].title()}, ' \
                                  f'ты не написал название не одного города!'
    elif len(cities) == 1:
        res['response']['text'] = f'{sessionStorage[user_id]["first_name"].title()}, этот город в стране - ' + \
                                  get_country(cities[0])
    elif len(cities) == 2:
        distance = get_distance(get_coordinates(cities[0]),
                                get_coordinates(cities[1]))
        res['response']['text'] = f'{sessionStorage[user_id]["first_name"].title()}, расстояние между этими городами: ' + \
                                  str(round(distance)) + ' км.'
    else:
        res['response'][
            'text'] = f'{sessionStorage[user_id]["first_name"].title()}, слишком много городов!'
Exemplo n.º 5
0
def handle_dialog(res, req):
    user_id = req['session']['user_id']

    res['response']['buttons'] = [{
        'title': 'Помощь',
        'hide': False,
    }]
    if req['request']['original_utterance'].lower() == "помощь":
        res['response']['text'] = "Я - бот, в зависимости от того, сколько названий городов вы мне скажете, " \
                                  "показывающий город или говорящий расстояние между ними."
        return

    if req['session']['new']:
        res['response']['text'] = 'Привет! Назови своё имя!'
        sessionStorage[user_id] = {
            'first_name': None,
        }
        return

    user_name = sessionStorage[user_id]['first_name']

    if user_name is None:
        first_name = get_first_name(req)
        if first_name is None:
            res['response']['text'] = 'Не расслышала имя. Повтори, пожалуйста!'
        else:
            sessionStorage[user_id]['first_name'] = first_name
            res['response']['text'] = f'Приятно познакомиться, {first_name.title()}. Я Алиса. Я могу показать город ' \
                                      f'или сказать расстояние между городами!'
    else:
        cities = get_cities(req)
        if not cities:
            res['response'][
                'text'] = f'{user_name.title()}, ты не написал название не одного города!'
        elif len(cities) == 1:
            res['response']['text'] = f'{user_name.title()}, этот город в стране - ' + \
                                      get_country(cities[0])
        elif len(cities) == 2:
            distance = get_distance(get_coordinates(cities[0]),
                                    get_coordinates(cities[1]))
            res['response']['text'] = f'{user_name.title()}, расстояние между этими городами: ' + \
                                      str(round(distance)) + ' км.'
        else:
            res['response'][
                'text'] = f'Слишком много городов, {user_name.title()}!'
Exemplo n.º 6
0
def handle_dialog(res, req):
    user_id = req['session']['user_id']
    if req['session']['new']:
        res['response']['text'] = \
            'Привет! Я могу показать город или сказать расстояние между городами!'
        return
    # Получаем города из нашего
    cities = get_cities(req)
    if not cities:
        res['response']['text'] = 'Вы не написали название ни одного города!'
    elif len(cities) == 1:
        res['response']['text'] = 'Этот город в стране - ' + \
                                  get_country(cities[0])
    elif len(cities) == 2:
        distance = get_distance(get_coordinates(cities[0]),
                                get_coordinates(cities[1]))
        res['response']['text'] = 'Расстояние между этими городами: ' + \
                                  str(round(distance)) + ' км.'
    else:
        res['response']['text'] = 'Слишком много городов!'
Exemplo n.º 7
0
def inline_caps(update, context):
    query = update.inline_query.query
    if not query:
        return

    inline_results = []

    if datetime.datetime.now().month != config["CURRENT_MONTH"]:
        config["CURRENT_MONTH"] = datetime.datetime.now().month
        config["NOF_API_QUERYS"] = 0

    if config["NOF_API_QUERYS"] > 2000:
        inline_results.append(
            InlineQueryResultArticle(
                id=query.upper(),
                title="API limit reached",
                input_message_content=InputTextMessageContent("API limit reached"),
            )
        )
    else:
        geocoding_results = get_coordinates(config["PLACES_API_KEY"], query)

        config["NOF_API_QUERYS"] += 1

        if len(geocoding_results) == 0:
            inline_results.append(
                InlineQueryResultArticle(
                    id=query.upper(),
                    title="No results",
                    input_message_content=InputTextMessageContent("No results"),
                )
            )
        else:
            for gr in geocoding_results:
                inline_results.append(
                    InlineQueryResultArticle(
                        id=query.upper(),
                        title=gr["formatted"],
                        input_message_content=InputVenueMessageContent(
                            title=gr["name"],
                            address=gr["formatted"],
                            latitude=gr["lat"],
                            longitude=gr["lng"],
                        ),
                    )
                )
    context.bot.answer_inline_query(update.inline_query.id, inline_results)
Exemplo n.º 8
0
Arquivo: 1.py Projeto: segukki/Alice
def handle_dialog(res, req):
    user_id = req['session']['user_id']

    # если пользователь новый
    if req['session']['new']:
        res['response']['text'] = 'Привет! Назови свое имя!'
        sessionStorage[user_id] = {
            'first_name': None
        }
        return

    # если пользователь не новый
    if sessionStorage[user_id]['first_name'] is None:
        first_name = get_first_name(req)
        # если не нашли
        if first_name is None:
            res['response']['text'] = \
                'Не расслышала имя. Повтори, пожалуйста!'
        # если нашли
        else:
            sessionStorage[user_id]['first_name'] = first_name
            res['response'][
                'text'] = 'Приятно познакомиться, ' + first_name.title()  + '. Я - Алиса. Я могу показать город или сказать расстояние между городами!'
            res['response']['buttons'] = [
                {
                    'title': city.title(),
                    'hide': True
                } for city in cities_
            ]

    # если пользователь уже что-то написал
    else:
        # ищем города в сообщении от пользователя
        cities = get_cities(req)
        if not cities:
            res['response']['text'] = 'Ты не написал название ни одного города!'

        elif len(cities) == 1:

            if cities[0] in cities_:
                if 'подробнее'  in req['request']['original_utterance'].lower() or 'хочу больше информации' in req['request']['original_utterance'].lower():
                    res['response']['text'] = 'https://ru.wikipedia.org/wiki/' + cities[0]
                else:
                    res['response']['card'] = {}
                    res['response']['card']['type'] = 'BigImage'
                    res['response']['card']['title'] = 'Этот город я знаю. Он в стране ' + get_country(cities[0]) + '.'
                    res['response']['card']['image_id'] = random.choice(cities_[cities[0]])
                    res['response']['text'] = 'Этот город я знаю.'
            else:
                res['response']['text'] = 'Этот город я знаю. Он в стране ' + get_country(cities[0]) + '.'

        elif len(cities) == 2:
            distance = get_distance(get_coordinates(
                cities[0]), get_coordinates(cities[1]))
            res['response']['text'] = 'Расстояние между этими городами: ' + str(round(distance)) + ' км.'
        else:
            res['response']['text'] = 'Слишком много городов!'
            res['response']['buttons'] = [
                {
                    'title': city.title(),
                    'hide': True
                } for city in cities_
            ]
Exemplo n.º 9
0
def handle_dialog(res, req):
    global photos
    user_id = req['session']['user_id']

    # если пользователь новый, то просим его представиться.
    if req['session']['new']:
        res['response']['card'] = {}
        res['response']['card']['type'] = 'BigImage'
        res['response']['card']['title'] = 'Привет! Я Алиса.Гид,'\
                                           + ' а тебя как зовут?'
        res['response']['card']['image_id'] = photos['alica']
        # текст если нету экрана
        res['response']['text'] = 'Привет! Я Алиса-Гид,'\
                                  + ' а тебя как зовут?'
        # создаём словарь в который в будущем положим имя пользователя
        sessionStorage[user_id] = {'first_name': None}
        return

    # если пользователь не новый, то попадаем сюда.
    # если поле имени пустое, то это говорит о том,
    # что пользователь ещё не представился.
    if sessionStorage[user_id]['first_name'] is None:
        # в последнем его сообщение ищем имя.
        first_name = get_first_name(req)
        # если не нашли, то сообщаем пользователю что не расслышали.
        if first_name is None:
            res['response']['text'] = \
                'Не расслышала имя. Повтори, пожалуйста!'
        # если нашли, то приветствуем пользователя
        else:
            sessionStorage[user_id]['first_name'] = first_name
            res['response'][
                'text'] = 'Приятно познакомиться, ' + first_name.title()\
                          + '.\nВот что я умею:\n1. Играть в горо'\
                          + 'да (Просто скажите: "Давай сыграем в города")\n'\
                          + '2. Найти точное расстаяние между городами '\
                          + '(Просто скажите: "Отмерь расстояние")\n'\
                          + '3. Найти в какой стране город '\
                          + '(Просто скажите: "В какой стране город?")\n'\
                          + '4. Перевести на любой язык '\
                          + '(Просто скажите: "Перевод")\n'\
                          + '5. Определить язык '\
                          + '(Просто скажите: "Определи язык")\n'\
                          + '6. Произвести поиск '\
                          + '(Просто скажите: "Поиск")'

    else:
        # преобразовываем все нужные переменные в глобальные
        global city_game
        global used_cities
        global cities
        global distance_city_game
        global country_game
        global trans_lg
        global language
        global translate_lg
        global search_lg
        global detect_lg
        global ya_serch
        global happ
        global hello

        # ИГРА В ГОРОДА
        if 'давай сыграем в города' in req['request']['command'].lower():
            city_game = [True, 'а']
            # фотография Алисы с тайтлами
            res['response']['card'] = {}
            res['response']['card']['type'] = 'BigImage'
            res['response']['card']['title'] = '*Чтобы прекратить игру напиш'\
                                               + 'ите Хватит* Я начну, Москв'\
                                               + 'а - тебе на "а"'
            res['response']['card']['image_id'] = photos['alica_city_game']
            # текст если нету экрана
            res['response']['text'] = '*Чтобы прекратить игру напишите Хвати'\
                                      + 'т* Я начну, Москва - тебе на "а"'
            res['response']['buttons'] = [{'title': 'Хватит', 'hide': True}]
        elif city_game[0] is True:
            if 'где это' in req['request']['command'].lower():
                res['response']['text'] = 'Это замечательное место. Ваш ход...'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            elif 'хватит' in req['request']['command'].lower():
                res['response']['text'] = 'С тобой было приятно играть!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                city_game = [False, '']
                used_cities = []
            elif sorted(cities) == sorted(used_cities):
                res['response']['text'] = 'С тобой приятно играть, но я устал'\
                                          + 'а!\n-Если хочешь узнать, что '\
                                          + 'я могу, напиши: "Что ты можешь?"'
                city_game = [False, '']
                used_cities = []
            elif city_game[1] == req['request']['command'].lower()[0]:
                if req['request']['command'].lower().title() in used_cities:
                    res['response']['text'] = 'Повторяться нельзя!\nТы проиг'\
                                          + 'рал. Но ничего в следующий раз '\
                                          + 'обязательно всё получится!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                    city_game = [False, '']
                    used_cities = []
                elif req['request']['command'].lower().title() not in cities:
                    res['response']['text'] = 'Такого города я не знаю!\nКа'\
                                          + 'жется ты проиграл. Но ничего в с'\
                                          + 'ледующий раз обязательно всё пол'\
                                          + 'учится!\n-Если хочешь узнать, чт'\
                                          + 'о я могу, напиши:"Что ты можешь?"'
                    city_game = [False, '']
                    used_cities = []
                else:
                    word = req['request']['command'].lower().title()
                    used_cities.append(word)
                    if req['request']['command'].lower()[-1] != 'ь'\
                       and req['request']['command'].lower()[-1] != 'ъ'\
                       and req['request']['command'].lower()[-1] != 'ы':
                        city_game[1] = req['request']['command'].lower()[-1]
                    else:
                        city_game[1] = req['request']['command'].lower()[-2]
                    for i in cities:
                        if i[0].lower() == city_game[1].lower()\
                           and i not in used_cities:
                            used_cities.append(i)
                            res['response']['text'] = str(i)
                            city_n = str(i)
                            if i[-1] != 'ь'\
                               and i[-1] != 'ъ'\
                               and i[-1] != 'ы':
                                city_game[1] = i[-1]
                            else:
                                city_game[1] = i[-2]
                            break
                    url = 'https://yandex.ru/maps/?ll=86.026101%2C46.958498&m'\
                          + 'ode=search&sll=52.395874%2C55.743583&sspn=0.3137'\
                          + '97%2C0.105549&text={}&z=2.7'.format(city_n)
                    res['response']['buttons'] = [{
                        'title': 'Где это?',
                        'hide': True,
                        'url': url
                    }, {
                        'title': 'Хватит',
                        'hide': True
                    }]
            else:
                res['response']['text'] = 'Упс... Кажется ты проиграл\n'\
                                          + 'Но ничего в следующий раз '\
                                          + 'обязательно всё получится!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                city_game = [False, '']
                used_cities = []

        # НАХОЖДЕНИЕ РАССТОЯНИЯ ГОРОДОВ
        elif 'отмерь расстояние' in req['request']['command'].lower():
            res['response']['card'] = {}
            res['response']['card']['type'] = 'BigImage'
            res['response']['card']['title'] = '*Чтобы прекратить напишите '\
                                               + 'Хватит* Каких двух городо'\
                                               + 'в нужно узнать расстояние'\
                                               + '? (Пример: Москва Питер)'
            name_photo = 'alica_distance_city_game'
            res['response']['card']['image_id'] = photos[name_photo]
            distance_city_game = True
            # текст если нету экрана
            res['response']['text'] = '*Чтобы прекратить напишите Хватит*'\
                                      + '\nКаких двух городов нужно узнать'\
                                      + ' расстояние?\n (Пример: Москва Питер)'
            res['response']['buttons'] = [{'title': 'Хватит', 'hide': True}]
        elif distance_city_game is True:
            cities_d = get_cities(req)
            if 'хватит' in req['request']['command'].lower():
                res['response']['text'] = 'Закончили!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                distance_city_game = False
            elif len(cities_d) == 0:
                res['response']['text'] = 'Ты не написал название'\
                                          + ' не одного города!'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            elif len(cities_d) == 2:
                distance = get_distance(get_coordinates(cities_d[0]),
                                        get_coordinates(cities_d[1]))
                res['response']['text'] = 'Расстояние между этими городами: '\
                                          + str(round(distance)) + ' км.\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                distance_city_game = False
            else:
                res['response']['text'] = 'Не то количество городов!\n'\
                                          + 'Попробуй ещё раз.'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]

        # В КАКОЙ СТРАНЕ ГОРОД
        elif 'в какой стране город' in req['request']['command'].lower():
            country_game = True
            res['response']['card'] = {}
            res['response']['card']['type'] = 'BigImage'
            res['response']['card']['title'] = '*Чтобы прекратить напишите '\
                                               + 'Хватит* Какого города нуж'\
                                               + 'но узнать страну?'
            res['response']['card']['image_id'] = photos['alica_country_game']
            # текст если нету экрана
            res['response']['text'] = '*Чтобы прекратить напишите Хватит*'\
                                      + '\nКакого города нужно узнать страну?'
            res['response']['buttons'] = [{'title': 'Хватит', 'hide': True}]
        elif country_game is True:
            cities_d = get_cities(req)
            if 'хватит' in req['request']['command'].lower():
                res['response']['text'] = 'Закончили!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                country_game = False
            elif len(cities_d) == 0:
                res['response']['text'] = 'Ты не написал название города!'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            elif len(cities_d) == 1:
                res['response']['text'] = 'Этот город в стране - '\
                                          + get_country(cities_d[0])\
                                          + '\n-Если хочешь узнать, что я '\
                                          + 'могу, напиши: "Что ты можешь?" '
                country_game = False
            else:
                res['response']['text'] = 'Слишком много городов!\n'\
                                          + 'Попробуй ещё раз.'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]

        # ПЕРЕВОДЧИК
        elif 'перевод' == req['request']['command'].lower():
            trans_lg = True
            language = ''
            res['response']['card'] = {}
            res['response']['card']['type'] = 'BigImage'
            res['response']['card']['title'] = '*Чтобы прекратить напишите '\
                                               + 'Хватит* На какой язык пер'\
                                               + 'евести? Если вы не знаете'\
                                               + ' язык в какой-то стране, '\
                                               + 'напиши страну, я помогу!'
            res['response']['card']['image_id'] = photos['alica_trans_lg']
            # текст если нету экрана
            res['response']['text'] = '*Чтобы прекратить напишите Хватит*'\
                                      + '\nНа какой язык вы хотите перевести?'\
                                      + '\nЕсли вы не знаете язык в какой-то '\
                                      + 'стране, напиши страну, я тебе помогу!'
            res['response']['buttons'] = [{'title': 'Хватит', 'hide': True}]
        elif trans_lg is True:
            word = req['request']['command'].lower().strip().title()
            if 'хватит' in req['request']['command'].lower():
                res['response']['text'] = 'Закончили!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                trans_lg = False
            elif word in count_lg.COUNTRY_LG:
                ans = req['request']['command'].lower().strip().title()
                ans = count_lg.COUNTRY_LG[ans]
                ans = count_lg.SIM_LG[ans]
                language = count_lg.LG_SIM[ans]
                res['response']['text'] = 'Я определила язык, это - ' + ans\
                                          + '\nЧто вы хотите перевести?'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            elif req['request']['command'].lower().strip() in count_lg.LG_SIM:
                res['response']['text'] = 'Что вы хотите перевести?'
                ans = req['request']['command'].lower().strip()
                language = count_lg.LG_SIM[ans]
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            elif language == '':
                res['response']['text'] = 'Не понимаю! Попробуйте ещё раз...'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            else:
                text = str(req['request']['command'])
                res['response']['text'] = 'Перевод: ' + str(
                    translate_lg(text, language))
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]

        # ОПРЕДЕЛЕНИЕ ЯЗЫКА
        elif 'определи язык' == req['request']['command'].lower():
            search_lg = True
            res['response']['card'] = {}
            res['response']['card']['type'] = 'BigImage'
            res['response']['card']['title'] = '*Чтобы прекратить напишите '\
                                               + 'Хватит* Напишите что-нибу'\
                                               + 'дь, а я определю, что за'\
                                               + ' язык!'
            res['response']['card']['image_id'] = photos['alica_search_lg']
            # текст если нету экрана
            res['response']['text'] = '*Чтобы прекратить напишите Хватит*'\
                                      + '\nНапишите что-нибудь, '\
                                      + 'а я определю, что за язык!'
            res['response']['buttons'] = [{'title': 'Хватит', 'hide': True}]
        elif search_lg:
            if 'хватит' in req['request']['command'].lower():
                res['response']['text'] = 'Закончили!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                search_lg = False
            else:
                text = str(req['request']['command'])
                ans = detect_lg(text)
                ans = count_lg.SIM_LG[ans]
                res['response']['text'] = 'Я знаю! Это -' + ans\
                                          + '\nНапиши что-нибудь ещё!'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]

        # ПОИСК
        elif 'поиск' == req['request']['command'].lower():
            ya_serch = True
            res['response']['card'] = {}
            res['response']['card']['type'] = 'BigImage'
            res['response']['card']['title'] = '*Чтобы прекратить напишите'\
                                               + ' Хватит* Напишите что ну'\
                                               + 'жно найти, после нажмите'\
                                               + ' кнопку "Искать"!'
            res['response']['card']['image_id'] = photos['alica_ya_serch']
            # текст если нету экрана
            res['response']['text'] = '*Чтобы прекратить напишите Хватит*'\
                                      + '\nНапишите что нужно найти, '\
                                      + 'после нажмите кнопку "Искать"!'
            res['response']['buttons'] = [{'title': 'Хватит', 'hide': True}]
        elif ya_serch:
            if 'хватит' in req['request']['command'].lower():
                res['response']['text'] = 'Закончили искать!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                ya_serch = False
            elif 'нет' == req['request']['command'].lower():
                res['response']['text'] = 'Попробуйте искать по другому'\
                                          + ' запросу...'
                res['response']['buttons'] = [{
                    'title': 'Хватит',
                    'hide': True
                }]
            elif 'да' == req['request']['command'].lower():
                res['response']['text'] = 'Отлично!\n'\
                                          + '-Если хочешь узнать, что я могу,'\
                                          + ' напиши: "Что ты можешь?" '
                ya_serch = False
            elif 'искать' == req['request']['command'].lower():
                res['response']['text'] = 'Нашли что хотели?'
                res['response']['buttons'] = [{
                    'title': 'Да',
                    'hide': True
                }, {
                    'title': 'Нет',
                    'hide': True
                }, {
                    'title': 'Хватит',
                    'hide': True
                }]
            else:
                ans = '%20'.join(req['request']['command'].split())
                url = 'https://yandex.ru/search/?text={}&lr=236'.format(ans)
                res['response']['buttons'] = [{
                    'title': 'Искать',
                    'hide': True,
                    'url': url
                }, {
                    'title': 'Хватит',
                    'hide': True
                }]
                res['response']['text'] = 'Произвожу поиск...'

        # СПОНТАННОЕ ПРИВЕТСТВИЕ
        elif 'привет' == req['request']['command'].lower()\
             or 'здравствуй' == req['request']['command'].lower()\
             or 'здравствуйте' == req['request']['command'].lower()\
             or 'хай' == req['request']['command'].lower()\
             or 'хеллоу' == req['request']['command'].lower():
            answer = str(random.choice(hello))
            res['response']['text'] = answer

        # СПОНТАННО СТРОСИЛИ КАК ДЕЛА
        elif 'как дела?' in req['request']['command'].lower()\
             or 'как дела' in req['request']['command'].lower()\
             or 'как у тебя дела?' in req['request']['command'].lower()\
             or 'как у тебя дела' in req['request']['command'].lower():
            answer = str(random.choice(happ))
            res['response']['text'] = answer

        # ЕСЛИ НЕТ ПОДХОДЯЩЕГО НАВЫКА ИЛИ ОТВЕТА НА ЗАПРОС
        else:
            res['response']['text'] = 'Я могу:\n1. Играть в города (Просто'\
                                      + ' скажите: "Давай сыграем в города'\
                                      + '")\n2. Найти точное расстаяние ме'\
                                      + 'жду городами (Просто скажите: "От'\
                                      + 'мерь расстояние")\n3. Найти в как'\
                                      + 'ой стране город (Просто скажите: '\
                                      + '"В какой стране город?")\n4. Пере'\
                                      + 'вести на любой язык (Просто скажи'\
                                      + 'те: "Перевод")\n5. Определить язы'\
                                      + 'к (Просто скажите: "Определи язык'\
                                      + '")\n6. Произвести поиск (Просто с'\
                                      + 'кажите: "Поиск")'