Kayuro, Я же прямо написал - session.
У тебя первый запрос выполняется как requests.get(), при этом неявно создаётся новая сессия по умолчанию.
Затем ты создаёшь другую сессию вызовом requests.session(), и выполняешь второй запрос уже в отдельной сессии.
Лучше всего создать сессию с самого начала и делать все запросы в её рамках.
Kayuro, зачем стартуешь новую session?
У тебя сайт в старой сессии оставил куки, что ты вошел на сайт. А новая сессия про них не знает.
Так что запрос на URL для входа и запрос на URL страницы теста должны выполняться в рамках одной сессии.
А если в питоне не шаришь, значит, откладываешь этот проект и учишь азы питона. Потом вернёшься к нему. Иначе на отступах и прочей мелочи будешь спотыкаться.
DTPlayer, как можно заниматься разработкой, не зная термина "экранировать символ"?! Это же азы!
r'\{"data":".+?","iv":".+?","salt":".+?"\}' ну и так далее. \ перед любым символом, имеющим служебное значение в регулярках. И не забывай про модификатор жадности. ".+" сопоставится как можно более длинной строке, а ".+?" как можно более короткой (при условии что дальше тоже всё подходит).
Telmor, твой код только обрабатывает команду.
Там нет ни хранилища состояния (СУБД или хотя бы тупо словаря), ни диспетчера обработки сообщений - кода, который по id пользователя узнаёт в хранилище состояний, какой аргумент для какой команды сейчас этим пользователем вводится, а потом передаёт управление соответствующему обработчику. В целом, гугли в сторону "конечный автомат", он же "state machine".
А вообще, возвращаюсь в первому пункту: имеет ли это смысл для решаемой задачи? Добавить роль вручную почти наверняка окажется проще и быстрее, чем использовать команду бота.
hagnoherze, а с чего бы приведенному коду работать, собственно?
У тебя из while True: выхода не предусмотрено, так что начиная с def cancel(): код выполнен не будет.
Влад Хоренко, тебе сказали.
1. Читай, как пользоваться модулем argparse. Не умеешь по-английски - учи английский. Разработчик без знания английского - практически калека. тем более что беглая речь не требуется, достаточно умения читать со словарём. Это школьный уровень, на самом деле.
Но поскольку изучение языка - дело не очень быстрое, то либо используй машинный перевод, либо ищи документацию на русском. В любом случае, тебе направление поисков указали. Дальше сам.
2. По поводу ошибок. 1 - ты запускаешь скрипт без аргументов, а скрипт этого не ожидает. Решается либо проверкой длины sys.argv, либо использованием argparse, он это умеет.
2,3 - ты неправильно используешь метод update() у словаря. Он не предназначен для задания значения по ключу. Читай документацию.
Вадимка))), сам виноват. Я ответил на поставленный вопрос. Про множественные объекты на сцене там не то что ни слова - даже ни намёка нет.
Скорее всего одним алгоритмом дело не ограничится, придётся сначала искать примерное расположение объектов - например, преобразованием Хафа, или на основании знания о предыдущем его расположении.
А потом уже уточнять позицию и ориентацию либо по особым точкам, либо template matching'ом, либо ещё как-то.
Если я правильно понял алгоритм, он не поможет для поиска поворота. Придётся искать объект в самых разных ориентациях. Хотя и тут возможны оптимизации...
Максим, просто выбранная локаль будет определять формат дальнейшего вывода - до следующей смены локали.
Поэтому обычно не имеет смысла менять локаль программы на ходу - она чаще выбирается один раз в начале программы и потом используется. Исключение - если вам нужно делать вывод одновременно в нескольких локалях.
Вреда нет, просто неряшливо, ну и неоптимально.
У тебя первый запрос выполняется как requests.get(), при этом неявно создаётся новая сессия по умолчанию.
Затем ты создаёшь другую сессию вызовом requests.session(), и выполняешь второй запрос уже в отдельной сессии.
Лучше всего создать сессию с самого начала и делать все запросы в её рамках.