def test_status(self):
     res = yandex_translate.translate('Привет', 'ru')
     self.assertIn(200, res)
Esempio n. 2
0
def get_answer(user_input, user_date):
    ans = ""
    #####################################################################################################################
    #####################################################################################################################

    name_of_service = "No"  # чтобы определить именно запрос для википедиия я создал эту переменную

    #####################################################################################################################
    #####################################################################################################################

    # write predefined set of questions and answers here
    if user_input == u"Привет":
        ans = u"Привет. Как я могу помочь?"
    elif ('привет' in user_input) or ('как дела' in user_input):
        ans = "Привет! Как ваши дела?"
    elif ('хорошо' in user_input) or ('сама' in user_input):
        ans = "Рада это слышать. У меня тоже все хорошо"
    elif user_input == "/text":
        ans = "Задайте мне любую из команд в моем списке. Я постараюсь выполнить или можем просто поговорить.\n- Какая сегодня погода в Алмате?\n- Расскажи о Казахстане\n- Переведи слово кофе на английский\n- 2 доллара в тенге\n- Давай поболтаем, AIbota\n* Чтобы воспользоваться голосовым помощником, отправьте аудиозапрос.\n"
    elif ('умеешь' in user_input) or ('умеешь делать' in user_input):
        ans = 'Вот что я умею:\n- Показать прогноз погоды\n("Какая сегодня погода в Алмате?") ' + u'⛅' + '\n- Рассказать интересные факты\n("Расскажи о Казахстане") ' + u'🔍' + '\n- Переводить слова\n("кофе на английском") ' + u'🔄' + '\n- Узнавать курсы валют\n("доллары в тенге") ' + u'💲' + '\n- Составить компанию\n("Давай поболтаем, AIbota") ' + u'💬' + "\n* Чтобы воспользоваться голосовым помощником, отправьте аудиозапрос " + u'📣' + ".\n"
    elif (user_input == '/info') or ('подробнее о функциях' in user_input
                                     or 'о своих функциях' in user_input
                                     or 'о своих функциях' in user_input):
        ans = "С помощью этого бота вы можете\n [ " + u'📣' + " ] - Воспользоваться персональной голосовой помощницей, отправляя аудио запросы\n [ " + u'⛅' + " Прогноз погоды] - Узнавать погоду на сегодня(ближайщий час), завтра, послезавтра в любом городе\n [ " + u'🔍' + " Энциклопедия] - Получать информацию из энциклопедии\n [ " + u'🔄' + " Переводчик] - Переводить слова\n [ " + u'💲' + " Конвертер валют] - Узнавать курсы валют\n [ " + u'💬' + " Болталка] - Или просто поболтать\n"
    else:
        serv = ner(user_input)
        print(serv[0])

        if serv[0] == "weather":
            settings.context["service"] = "weather"
            [service, city, date] = ner(user_input)
            # [service, city, date] = ner(user_input)
            #ans="connct to the api: " + service + " " + " " + city + " " + date

            ans = weatherapp(city, date, user_date)[1]
            print(city)

            if ans == "error":
                ans = "К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова"
            name_of_service = "weather"  # если это погода возвращаю имя сервиса
            return ans, name_of_service

        if (settings.context["service"] == "weather"
                and ("завтра" in user_input)):
            settings.context["service"] = "weather"
            [service, city, date] = [
                settings.context["service"], settings.context["city"], "завтра"
            ]
            # [service, city, date] = ner(user_input)
            ans = "connct to the api: " + service + " " + " " + city + " " + date
            ans = weatherapp(city, date, user_date)[1]
            print(city)
            if ans == "error":
                ans = "К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова"
            name_of_service = "weather"  # если это погода возвращаю имя сервиса
            return ans, name_of_service
        if serv[0] == "translate":
            settings.context["service"] = "translate"
            [service, textToTranslate, finalLangToTranslate] = ner(user_input)
            ans = translate("", finalLangToTranslate, textToTranslate)
            name_of_service = "translate"  # если это переводчик возвращаю имя сервиса
            return ans, name_of_service
        if serv[0] == "currency":
            settings.context["service"] = "currency"
            [service, finalFirstCurr, finalSecondCurr, curr] = ner(user_input)
            ans = currencyapp(finalFirstCurr, finalSecondCurr, curr)
            name_of_service = "currency"  # если это конвертор валют возвращаю имя сервиса
            return ans, name_of_service
        if serv[0] == "wiki":
            settings.context["service"] = "wiki"
            [service, query] = ner(user_input)
            print(query)
            ans = wikiapp(query)
            name_of_service = query + "serviceapiwikipedia"  # если это википедия возвращаю имя сервиса
            return ans, name_of_service
        if serv[0] == "youtube":
            settings.context["service"] = "youtube"
            [service, result] = ner(user_input)
            print(result)
            ans = youtube_search(result)
            name_of_service = "youtube"  # если это википедия возвращаю имя сервиса
            return ans, name_of_service
        if serv == "chitchat" and ans == "":
            settings.context["service"] = "chitchat"
            ans = chat(user_input)
            name_of_service = "chitchat"  # если это болталка возвращаю имя сервиса
            return ans, name_of_service
    return ans, name_of_service
 def test_translate(self):
     res = yandex_translate.translate('Привет', 'ru')
     self.assertEqual(res[0], 'Hallo')
Esempio n. 4
0
def get_answer_for_voice(user_input, user_date):
    ans = []
    name_of_service = "No"
    user_input = user_input.lower()
    if ('$' in user_input):
        user_input = user_input.replace("$", " доллар ")
    if (' р ' in user_input):
        user_input = user_input.replace(" р ", " рубль ")
    
    # print("changed" + user_input)
    # write predefined set of questions and answers here
    if user_input == u"привет":

        ans = [u"Привет. Как я могу помочь?", u"Привет. Как я могу помочь?"]
    elif user_input == "/start":
        ans = [
            "Задайте мне любую из команд в моем списке. Я постараюсь выполнить или можем просто поговорить.\n- Какая сегодня погода в Алмате?\n- Расскажи о Казахстане\n- Переведи слово кофе на английский\n- 2 доллара в тенге\n- Давай поболтаем, AIbota\n* Чтобы воспользоваться голосовым помощником, отправьте аудиозапрос.\n",
            "Задайте мне любую из команд в моем списке. Я постараюсь выполнить или можем просто поговорить.\n- Какая сегодня погода в Алмате?\n- Расскажи о Казахстане\n- Переведи слово кофе на английский\n- 2 доллара в тенге\n- Давай поболтаем, AIbota\n* Чтобы воспользоваться голосовым помощником, отправьте аудиозапрос.\n"]
    elif ('умеешь' in user_input) or ('умеешь делать' in user_input):
        ans = [
            'Вот что я умею:\n- Показать прогноз погоды\n("Какая сегодня погода в Алмате?") ' + u'⛅' + '\n- Рассказать интересные факты\n("Расскажи о Казахстане") ' + u'🔍' + '\n- Переводить слова\n("кофе на английском") ' + u'🔄' + '\n- Узнавать курсы валют\n("доллары в тенге") ' + u'💲' + '\n- Показывать муз. клипы\n("поставь клип despacito") ' + u'🎬' + '\n- Составить компанию\n("Давай поболтаем, AIbota") ' + u'💬' + "\n* Чтобы воспользоваться голосовым помощником, отправьте аудиозапрос " + u'📣' + ".\n",
            'Вот что я умею:\n- Показать прогноз погоды\n("Какая сегодня погода в Алмате?") ' + u'⛅' + '\n- Рассказать интересные факты\n("Расскажи о Казахстане") ' + u'🔍' + '\n- Переводить слова\n("кофе на английском") ' + u'🔄' + '\n- Узнавать курсы валют\n("доллары в тенге") ' + u'💲' + '\n- Показывать муз. клипы\n("поставь клип despacito") ' + u'🎬' + '\n- Составить компанию\n("Давай поболтаем, AIbota") ' + u'💬' + "\n* Чтобы воспользоваться голосовым помощником, отправьте аудиозапрос " + u'📣' + ".\n"]
    elif (user_input == '/info') or ('подробнее о функциях' in user_input or 'подробней о функциях' in user_input or 'функциях' in user_input or 'о своих функциях' in user_input or 'о своих функциях' in user_input):
        ans = ["С помощью этого бота вы можете\n [ " + u'📣' + " ] - Воспользоваться персональной голосовой помощницей, отправляя аудио запросы\n [ " + u'⛅' + " Прогноз погоды] - Узнавать погоду на сегодня(ближайщий час), завтра, послезавтра в любом городе\n [ " + u'🔍' + " Энциклопедия] - Получать информацию из энциклопедии\n [ " + u'🔄' + " Переводчик] - Переводить слова\n [ " + u'💲' + " Конвертер валют] - Узнавать курсы валют\n [ "+ u'🎬' + " Клипы] - Посмотреть клипы\n [ " + u'💬' + " Болталка] - Или просто поболтать\n",
            "С помощью этого бота вы можете\n [ " + u'📣' + " ] - Воспользоваться персональной голосовой помощницей, отправляя аудио запросы\n [ " + u'⛅' + " Прогноз погоды] - Узнавать погоду на сегодня(ближайщий час), завтра, послезавтра в любом городе\n [ " + u'🔍' + " Энциклопедия] - Получать информацию из энциклопедии\n [ " + u'🔄' + " Переводчик] - Переводить слова\n [ " + u'💲' + " Конвертер валют] - Узнавать курсы валют\n [ " + u'🎬' + " Клипы] - Посмотреть клипы\n [ " + u'💬' + " Болталка] - Или просто поболтать\n"]
    else:
        serv = ner(user_input)
        print(serv[0])
        if serv[0] == "weather":
            settings.context["service"] = "weather"
            [service, city, date] = ner(user_input)
            # [service, city, date] = ner(user_input)
            # ans="connct to the api: " + service + " " + " " + city + " " + date

            ans = weatherapp(city, date, user_date)

            print(city)
            if ans[0] == "error":
                ans = ["К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова",
                       "К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова"]
            name_of_service = "weather"
            return ans, name_of_service

        if (settings.context["service"] == "weather" and (" завтра" in user_input)):
            settings.context["service"] = "weather"
            [service, city, date] = [settings.context["service"], settings.context["city"], "завтра"]

            # [service, city, date] = ner(user_input)
            # ans="connct to the api: " + service + " " + " " + city + " " + date

            ans = weatherapp(city, date, user_date)
            print(city)
            if ans[0] == "error":
                ans = ["К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова",
                       "К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова"]
            name_of_service = "weather"
            return ans, name_of_service
        if (settings.context["service"] == "weather" and ("послезавтра" in user_input)):
            settings.context["service"] = "weather"
            [service, city, date] = [settings.context["service"], settings.context["city"], "послезавтра"]
            # [service, city, date] = ner(user_input)
            ans = "connct to the api: " + service + " " + " " + city + " " + date
            ans = weatherapp(city, date, user_date)
            print(city)
            if ans[0] == "error":
                ans = "К сожалению места с таким именем не найдено, проверьте имя места и попробуйте снова"
            name_of_service = "weather"  # если это погода возвращаю имя сервиса
            return ans, name_of_service
        
        if serv[0] == "translate":
            [service, textToTranslate, finalLangToTranslate] = ner(user_input)
            ans = translate("", finalLangToTranslate, textToTranslate)
            name_of_service = "translate"
            return [ans, ans], name_of_service
        if serv[0] == "currency":
            settings.context["service"] = "currency"
            [service, finalFirstCurr, finalSecondCurr, curr] = ner(user_input)
            ans = currencyapp(finalFirstCurr, finalSecondCurr, curr)
            name_of_service = "currency"
            return [ans, ans], name_of_service
        if serv[0] == "wiki":
            settings.context["service"] = "wiki"
            [service, query] = ner(user_input)
            print(query)
            ans = wikiapp(query)
            name_of_service = query + " sw94"
            return [ans, ans], name_of_service
        if serv[0] == "youtube":
            settings.context["service"] = "youtube"
            [service, result] = ner(user_input)
            print(result)
            ans = youtube_search(result)
            name_of_service = "youtube"  # если это википедия возвращаю имя сервиса
            return [ans, ans], name_of_service
        if serv[0] == "time":
            settings.context["service"] = "time"
            [service, city] = ner(user_input)
            ans = find_time(city)
            name_of_service = "time"  # если это переводчик возвращаю имя сервиса
            return ans, name_of_service
        if serv == "chitchat" or ans == "":
            settings.context["service"] = "chitchat"
            ans = chat(user_input)
            name_of_service = "chitchat"
            return [ans, ans], name_of_service
    return ans, name_of_service