Найти - Пользователи
Полная версия: Написание телеграмм бота
Начало » Python для новичков » Написание телеграмм бота
1 2
sergeylaz
Помогите пожалуйста начал писать бота в телеграмме и при выводе выдаётся ошибка мне подсказали, что надо поменять паттерн на что я поменять я не знаю.
py.user.next
Ты код опубликуй.
sergeylaz
 def search_city(message: Message) -> None:
    logger.info(str(message.from_user.id))
    if message.text in constants.COMMAND_LIST:
        start_command(message)
    else:
        response = request_search(message)
        if check_status_code(response):
            pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'
            find_cities = re.findall(pattern_city_group, response.text)
            if len(find_cities[0]) > 20:
                pattern_dest = r'(?<="destinationId":")\d+'
                destination = re.findall(pattern_dest, find_cities[0])
                pattern_city = r'(?<="name":")\w+[\s, \w]\w+'
                city = re.findall(pattern_city, find_cities[0])
                city_list = list(zip(destination, city))
                bot_message = bot.send_message(
                    message.from_user.id, constants.CORRECTION, reply_markup=keyboards.keyboards_city(city_list)
                )
                user.edit('bot_message', bot_message)
            else:
                bot.send_message(message.from_user.id, constants.INCORRECT_CITY)
                choice_city(message)
        else:
            bot.send_message(message.from_user.id, constants.REQUEST_ERROR)
            choice_city(message)
sergeylaz
1
py.user.next
Приходит JSON - используй модуль json для разбора.

Если там просто какой-то текст, тогда напиши сюда содержимое response.text .
[code]
Тут содержимое.
[/code]
sergeylaz
Если надо вот ссылка на API с которыми я работаю Your text to link here…

В данной функции я использую метод https://hotels4.p.rapidapi.com/locations/v3/search, но я не понимаю на что надо заменить '
 pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'
py.user.next
sergeylaz
В данной функции я использую метод https://hotels4.p.rapidapi.com/locations/v3/search
Ну вот, она мне выдаёт вот это
{"message":"Invalid API key. Go to https:\/\/docs.rapidapi.com\/docs\/keys for more info."}

Пришли сюда то, что она тебе выдаёт.

sergeylaz
но я не понимаю на что надо заменить
Это надо разбирать не регулярными выражениями с модулем re, а модулем json.
xam1816
sergeylaz
при выводе выдаётся ошибка
какая ошибка? в какой строке?
что должно быть в результате выполнения кода?
sergeylaz
xam1816
Выдаётся ошибка, что API запрос не выполняется в 50 строке моего кода.
             pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'
В результате выполнения моего кода должно выдаваться сообщение с уточнением города, а только потом “Ведём поиск отелей в городе название города”.
py.user.next
sergeylaz
В результате выполнения моего кода должно выдаваться сообщение с уточнением города, а только потом “Ведём поиск отелей в городе название города”.
Похоже, рано тебе заниматься программированием таким. А шаблон этот тоже не ты писал?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB