Уведомления

Группа в Telegram: @pythonsu

#1 Март 10, 2023 10:14:59

sergeylaz
Зарегистрирован: 2023-03-10
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Написание телеграмм бота

Помогите пожалуйста начал писать бота в телеграмме и при выводе выдаётся ошибка мне подсказали, что надо поменять паттерн на что я поменять я не знаю.

Отредактировано sergeylaz (Март 10, 2023 10:16:13)

Офлайн

#2 Март 10, 2023 16:54:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9845
Репутация: +  853  -
Профиль   Отправить e-mail  

Написание телеграмм бота

Ты код опубликуй.



Офлайн

#3 Март 10, 2023 21:10:01

sergeylaz
Зарегистрирован: 2023-03-10
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Написание телеграмм бота

 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)

Офлайн

#4 Март 10, 2023 21:10:25

sergeylaz
Зарегистрирован: 2023-03-10
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Написание телеграмм бота

1

Прикреплённый файлы:
attachment 1.jpg (124,9 KБ)

Офлайн

#5 Март 10, 2023 22:49:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9845
Репутация: +  853  -
Профиль   Отправить e-mail  

Написание телеграмм бота

Приходит JSON - используй модуль json для разбора.

Если там просто какой-то текст, тогда напиши сюда содержимое response.text .

[code]
Тут содержимое.
[/code]



Офлайн

#6 Март 11, 2023 09:08:45

sergeylaz
Зарегистрирован: 2023-03-10
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Написание телеграмм бота

Если надо вот ссылка на API с которыми я работаю Your text to link here…

В данной функции я использую метод https://hotels4.p.rapidapi.com/locations/v3/search, но я не понимаю на что надо заменить '

 pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'

Офлайн

#7 Март 11, 2023 11:08:44

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9845
Репутация: +  853  -
Профиль   Отправить e-mail  

Написание телеграмм бота

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.



Отредактировано py.user.next (Март 11, 2023 11:09:13)

Офлайн

#8 Март 11, 2023 16:49:25

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

Написание телеграмм бота

sergeylaz
при выводе выдаётся ошибка
какая ошибка? в какой строке?
что должно быть в результате выполнения кода?

Офлайн

#9 Март 11, 2023 19:29:38

sergeylaz
Зарегистрирован: 2023-03-10
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Написание телеграмм бота

xam1816
Выдаётся ошибка, что API запрос не выполняется в 50 строке моего кода.
             pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'
В результате выполнения моего кода должно выдаваться сообщение с уточнением города, а только потом “Ведём поиск отелей в городе название города”.

Офлайн

#10 Март 11, 2023 22:38:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9845
Репутация: +  853  -
Профиль   Отправить e-mail  

Написание телеграмм бота

sergeylaz
В результате выполнения моего кода должно выдаваться сообщение с уточнением города, а только потом “Ведём поиск отелей в городе название города”.
Похоже, рано тебе заниматься программированием таким. А шаблон этот тоже не ты писал?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version