Бот для облегчения посылки обращений о нарушении правил парковки в ГАИ (https://faq.rfrm.io/parking.html)
Бот умеет прикреплять присланные фотографии к обращению и заполнять его вашими личными данными и информацией о нарушении. После отправлять его. Также фото нарушений отправляются в телеграм-канал и твиттер.
Работает по всей Беларуси.
Бот развернут по адресу http://t.me/parkun_by_bot.
Одобряются issue, pull requests и прочие привнесения. Инструкция для разработчиков.
Спасибо за внимание.
- Убирание ворнингов линтера.
- Обновление зависимостей.
- Еще один подход к более удобной доставке конфига в бот.
- Починка более лучшего конфигурирования бота.
- Небольшое редактирование разметки приветственных сообщений.
- Обновлен Python и зависимости
- Добавлено дополнительное форматирование введенных адреса нарушения и гос. номеров.
- Исправлен всегда русский язык примера обращения.
- В тексте обращения исправлен номер статьи КоАП.
- Более лучшее конфигурирование бота.
- Добавлена проверка на слишком короткий адрес нарушения.
- Добавлена возможность выбирать предыдущий адрес вводом номера адреса в списке, вместо кнопки.
- Обновлены несколько зависимостей.
- Обновлена инструкция по эксплуатации.
- Обновлены зависимости.
- Логи теперь сохраняются в файлы.
- Увеличение надежности при загрузке фото в облако.
- К сообщению бота о необходимости нажать одну из кнопок выше была добавлена кнопка "Отмена" для выхода в начальный режим в случаях, если непонятно что вообще происходит.
- Если катинку для ГАИ не удалось залить на telegra.ph, то она заливается на imgbox.
- Убрано немного логгирования.
- При автоматическом возврате в предыдующее (или какое угодно) состояние, бот пишет сообщение, что произошел автоматический возврат.
- Починил загрузку фотографий с серверов телеграм (раньше работала, а теперь что-то у телеграма изменилось и отклеилась).
- Починил, сломанный в предыдущей версии, телеграф.
- На шаге ввода адреса, команды выбора предыдущего адреса заменены на кнопки под сообщением. Кажется, так будет более удобно.
- Дополнительное логгирование.
- Появилась странная ошибка, банов нет, но бот определяет, что пользователь забанен и потом падает потому что там, где должна быть причина бана, причины, очевидно, нет. Добавил там логгирования и обернул в try. Будем наблюдать.
- Минорно обновлен python.
- Добавлена возможность посылать сообщение конкретному пользователю бота.
- Более подробное логгирование, в лог включается никнейм.
- Cообщения rabbitmq пишутся на диск и переживают рестарт.
- Еще более лучшее определение того, что пользователь вводит номер, который уже выбран кнопочками.
- Не добавлять введенный гос. номер, если он уже был выбран кнопками (почему-то так бывает).
- Более красивый UI-переход если бот не смог распознать номера.
- Поправлен баг при отправке если не распознался ни один номер на фото.
- Поправлен баг. Если не выбрано ни одного распознанного номера, то не появлялось сообщение об этом при нажатии на кнопку завершения выбора.
- Добавлено распознавание гос. номеров ТС на присланных пользователями фотографиях.
- Изменен порядок ввода данных на "адрес -> время -> гос. номер"
- Оптимизация, исправление ошибок
- Добавлено сообщение о задержке при отправке обращений из-за неработы сайта МВД.
- Если при отправке бот не может достучаться до ящика, который указал пользователь, то он отсылает обращение со своего ящика. Пользователю присылается об этом сообщение.
- Жыве Беларусь.
- Повышена надежность отправки постов в социальные сети после отправки обращения.
- Уменьшены негативные последствия рестарта бота для пользователей, которые были в процессе отправки нарушения.
- В постах #ответГАИ в канале теперь ссылка на нарушение подписана как "Нарушение:".
- В имя файла с обращением, который присылается после отправки, теперь включен номер обращения.
- В настройках добавлена кнопка для очистки списка сохраненных адресов нарушения.
- При нажатии кнопок, не актуальных в текущем режиме бота, бот будет подсказывать чего от в данный момент ожидает от пользователя.
- Добавлено автоматическое возвращение в режим ввода нарушения из режима ввода фидбека через час после простоя.
- Немного повышена надежность старта бота.
- [Отправитель] Исправлена ошибка, когда в обращении из очереди нет email пользователя, но есть пароль и этот пароль применяется к стандартному email бота. В результате бот не может попасть в ящик.
- Загрузка границ регионов теперь происходит асинхронно с запуском бота.
- Планировщик теперь умеет планировать практически любые задания.
- Хранилище бота переписано на прямой доступ к redis вместо хождения через хранилище aiogram.
- Если на старте загрузка границы региона не удалась, то будет поставлено задание загрузить ее позже.
- При отправке теперь проверяется есть ли доступ к ящику пользователя, если пользователь указал пароль. Если доступа нет, то обращение отправляется с ящика бота.
- Добавлена случайная пауза при загрузке следующей границы региона при старте бота.
- При вводе адреса, где кроме команды адреса есть еще какой-то левый текст, бот будет ругаться и предлагать ввести адрес еще раз.
- Исправление мелких ошибок.
- Улучшение логгирования.
- Мелкое изменение способа запуска задач планировщика.
- При вводе ответа ГАИ теперь бот вернется в режим ожидания нарушения в случае, если ответ ГАИ не будет прислан в течение часа.
- Для разработчиков добавлена возможность создавать задания, срабатывающие в определенное время для определенного пользоваетеля.
- Актуализирована документация.
- Исправлена ошибка когда не присылался пример обращения из-за того, что не заполнены личные данные.
- [Broadcaster] добавлена пересылка постов с нарушениями в VK.
- Дополнительная статистика про общее количество людей, когда-либо входивших в бота.
- Команда /help немного перекомпонована. Пример обращения теперь генерируется из личных данных пользователя.
- Баны теперь распространяются и на отправку ответов ГАИ. Банить можно только по Telegram Id.
- Мелкое улучшение логгирования.
- Добавлена подсказка при вводе телефона, почему его стоит ввести.
- Посылка фидбека улучшена, можно отправлять любые сообщения и отвечать на сообщения поддержки.
- Администратору добавлена возможность писать сообщения пользователям от имени бота.
- Добавлена возможность посылать произвольный пост (одно фото + текст или просто текст) в социальные сети.
- Добавлена возможность администратору посылать любое сообщение всем пользователям разом.
- Исправлена ошибка при отправке поста с нарушением по соцсетям.
- Текстовые ответы ГАИ научились расшариваться в твиттер.
- Изменения в тексте адресов, ссылающихся на репозиторий бота в связи с переездом репозитория бота и всего остального на новый адрес.
- Природа настолько очистилась, что в текст обращения вернулся "https:/".
- В текст обращения теперь вставляется дата отправки обращения и уникальный номер обращения.
- Ответы из ГАИ теперь шарятся во все соцсети, в которых представлен бот.
- Если кнопка отправки ответа ГАИ нажата ранее, чем через два дня после отправки обращения, то бот отвечает, что ответы не приходят так быстро и не предлагает отправить ответ в канал.
- Отправка нарушения в соцсети выделена в отдельный сервис. Пока что там только твиттер, но будет проще реализовать еще что-нибудь.
- Добавлена возможность присылать в канал ответы ГАИ с помощью бота. Для этого нужно переслать пост из канала, на который пришел ответ или нажать на кнопу, которую предоставляет бот после отправки обращения.
- В статистику по команде
/stats
было добавлено количество отправленных за сегодня и за вчера. - Исправление ошибок отображения статистики.
- Добавлена возможность получить статистику по команде
/stats
- Мелкие улучшения.
- Пометка про адрес под стеклом при отправке фото.
- Исправление мелких ошибок.
- Фотографии стали еще более лучше отправляться, задержки после нажатия на кнопку отправить обращение практически нет.
- В текст обращения теперь добавляется ссылка на страницу со всеми фотографиями нарушения.
- Небольшая замена в тексте обращения "стоянки" на "остановки и стоянки".
- Работы по уменьшению времени отклика кнопки отправки обращения.
- Кнопка города и кнопка, что все окей с адресом поменяны местами.
- Немного более строгая проверка на наличие города в адресе нарушения.
- Ускорена реакция на нажатие кнопки отправки обращения.
- Убран один шаг из процесса когда пользователю предлагается дописать населенный пункт к адресу нарушения.
- Примитивный контроль за присутствием в адресе нарушения города.
- На вводе адреса добавлена инфа о том, что дополнительную информацию можно будет ввести позже.
- Мелкие улучшения.
- Подготовка бота к деплою с помощью docker hub.
- Текст обращения дополнен указанием на то, что обращение считается информацией о проишествии.
- [Отправитель] Повышение надежности.
- Уменьшение мусорного вывода в логи бота.
- Добавлена возможность отправки обращения в конкретный район Минска. Район определяется автоматически. Как и раньше можно перевыбрать вручную.
- Исправлено отображение адреса отправителя. Теперь нет больше лишних запятых.
- Переделано меню ввода данных об отправителе нарушения. Появилась навигация по данным и возможность досрочно завершить ввод.
- Обновлен python до 3.8.2.
- Починена ошибка, когда в саммари обращения подставлялась не та дата, которая была введена.
- При введении всех данных, которые требуются для отправки обращения, пользователю теперь предлагается отправить неотправленное из-за этого обращение, если оно есть.
- При отмене какого-либо действия или при прерывании работы, собщения о возврате к работе теперь будут более прозрачные для каждого режима.
- Починено повреждение текущего вводимого обращения в момент, когда прилетает просьба ввести капчу и пользователь выбирает отменить обращение вместо ввода капчи.
- При вводе даты теперь можно время вводить через точку или запятую.
- Небольшое повышение надежности.
- Уточнены тексты некоторых сообщений от бота для большей ясности.
- Обновлены зависимости.
- Исправлен race condition при быстром добавлении фотографий нарушений.
- Примером адреса нарушения стал Брест вместо Минска.
- Новый механизм повторной отправки обращений, по идее более надежный. Бонусом возможность повторно отправить уже отправленное обращение (может быть, в случае неудачной отправки ботом).
- Теперь при вводе места нарушения бот предлагает выбрать 5 последних введенных адресов.
- Новый интерфейс для ввода даты нарушения. По умолчанию подставляется дата сегодня и остается ввести время в достаточно вольном формате.
- Исправление ошибок.
- Более надежный старт.
- Ленивые очереди в RabbitMQ чтобы они переживали рестарты (но все равно вроде не переживают).
- [Отправитель] Исправление ошибок.
- [Отправитель] Более надежный старт.
- [Отправитель] Значительно повышена скорость отправки.
- Переписана реализация стека состояний. В итоге бот немного осмысленнее сообщает об возврате в предыдущий режим.
- Хостинг telegra.ph внезапно начал иногда отдавать 500 при загрузке фото, приходится пробовать еще.
- Добавлено отображение примечания в тексте об отправке нарушения.
- [Отправитель] Много разных ухищрений, чтобы отправитель работал стабильно.
- Изменен текст приглашения для ввода капчи (в соответствии с новой капчей сайта МВД).
- [Отправитель] Изменена архитектура отправителя обращений. Отправитель теперь умеет работать с очередью обращений.
- Таймер ввода капчи перенесен в отправителя.
- Исправлена ошибка когда не удалялись временные файлы при отмене отправки обращения.
- Исправлена ошибка, когда перед постингом в канал буквы номера не заменялись на латинские.
- Обновлено Readme
- Повышена стабильность при смене языка бота или обращения
- [Отправитель] Если из ящика было взято недействительное обращение, то отправитель сходит за актуальным, а не упадет как раньше.
- [Отправитель] Повышена стабильность отправителей обращений, они теперь не бросаются отправлять два обращения одновременно.
- Добавлена возможность ввести номер телефона в личные данные.
- Починена ошибка неопределения адреса по локации.
- Добавлено руководство для разработчика паркун бота.
- Добавлено немного про архитектуру бота.
- Добавлено предупреждение о регистрозависимости капчи.
- Мелкие доработки.
- Доработки для более легкого разворачивания бота на сервере.
- Исправлена ошибка с пересохранением уже сохраненного обращения.
- Исправлена ошибка отваливающегося таймера отмены обращения.
- Добавлено притормаживание после кнопки отправить. Торжественно клянусь его когда-нибудь убрать.
- Исправление ошибок. Повышение стабильности работы бота.
- Исправление мелких ошибок.
- Обновлены ссылки на инструкцию по эксплуатации.
- Исправление мелких ошибок.
- При вводе личных данных бот теперь валидирует номер дома.
- Корпус предлагается ввести раньше дома, чтобы было понятно, что его не надо вводить вместе с домом.
- Баг когда бот не приветствовал пользователей старого бота в себе новом.
- Посылка обращений в ГАИ возвращена. Подробности.
- Отключена посылка обращений. Подробности. Вся остальная функциональность оставлена.
- При вводе личных данных теперь отображается текущее значение.
- Сообщение запроса ФИО согласовано с примером.
- Обращение дополнено требованием не выдавать персональные данные заявителя.
- Исправление письма обращения в соответствии с новым постановлением МВД от 08.01.2019 №5.
- Изменен адрес почты Гомельского УВД.
- Установлено ограничение в 10 фото на одно обращение.
- Мелкие исправления.
- Увеличение надежности при старте бота.
- Новые email для Гродненской и Витебской области.
- Была написана новая инструкция по отправке нарушений. Добавлена в раздел /help и отображается после каждой смены личных данных.
- В тело письма теперь явно добавляется email отправителя.
- В сообщение перед отправкой добавлена информация о твиттере.
- Бот теперь отправляет нарушения и в твиттер.
- Возможно починилось периодическое дублирование некоторых постов в канале при отправке обращения ботом.
- Сервер верификации адреса почты теперь получает информацию о языке бота.
- Уточнили сообщение о подтверждении ящика чтобы было понятно, что нарушение нужно вводить заново.
- Мелкие улучшения.
- Исправлена ошибка.
- Для удобства инспекторов ссылки на фото в обращении теперь озаглавлены и расположены компактно группой.
- Повышение надежности работы бота.
- Бот теперь умеет банить и разбанивать.
- В тело письма, наряду с фото нарушения, встраивается и ссылка на это фото текстом.
- На соединение для загрузки границ регионов повешен таймаут 5 сек.
- На беларуский язык переведена фраза "Не получилось подобрать адрес."
- Ускорена обработка отправленных боту фотографий.
- Беларуская мова у боце.
- Баг на айфонах. При нажатии на кнопку "Подтвердить email" отправляется много писем.
- Теперь бот шлет копию не на почтовый ящик пользователя, а файлом в чат.
- Добавлена проверка, является ли email временным, а не постоянным.
- Добавлена процедура верификации ящика электронной почты.
- Больше важного текста выделено жирным шрифтом.
- Теперь бот посылает нарушение в канал только после успешной отправки обращения по почте.
- Уточнено сообщение о необходимости посылки качественных фото, на которых хорошо видно номер и нарушение.
- Теперь обращение просит отвечать на него только по электронной почте. Чтобы спасти побольше деревьев.
- Дополнен хелп информацией о возможности ограниченного пакетного ввода нарушений.
- Мелкие улучшения.
- Добавлена возможность просмотра и изменения личной информации командой /personal_info. Команда /setup_sender удалена.
- Исправлена ошибка неработоспособности бота при некоторых сложных email адресах отправителей.
- Добавлена возможность при отправке нарушения указать примечание в письме, от отправителя письма.
- Добавлено сообщение о том, что на фото должно быть четко видно гос. номер и само нарушение.
- В процессе повышения регистра и замены латинских букв кириллицей при обработке гос. номера теперь буква "i" тоже заменяется.
- При вводе нарушения появилась возможность выбрать адрес, введенный в прошлый раз.
- Изменен способ ответа на обращения (для ответчика).
- Смена хостинга для встроенных в тело письма фоток.
- Предварительный просмотр перед отправкой теперь формируется вместо с фотографиями нарушения.
- В предварительном просмотре перед отправкой добавлена информация о публикации в канале.
- В тексте предварительного просмотра перед отправкой важная информация выделена жирным шрифтом.
- В канал теперь публикуется также гос. номер (чтобы можно было использовать поиск).
- Ошибка в шаблоне - упоминание ГУВД Мингорисполкома.
- В альбомах, посылаемых в канал, подпись устанавливается только на первое фото. В таком случае она отображается под альбомом.
- Исправлена ошибка, из-за которой бот застревал на отправке фото.
- Теперь бот пересылает фотографии, адрес нарушения и время в канал для всеобщей потехи.
- Обновлен /help.
- Добавлена возможность отправлять обращения о нарушениях по всей республике. Обращение идет в областное УВД (должны сами пересылать по районам по идее).
- В сообщение бота, что обращение успешно отправлено, добавлено предупреждение, что на mail.ru копии письма не доходят.
- Дополнен хелп про недоход писем на ящики на mail.ru.
- Дополнен хелп списком изменений.
- Прикрепленные в письме фото дополнительно встраиваются в тело письма. Некоторые почтовые ящики ГАИ не умеют прикрепленные файлы.
- Исправлен баг, когда добавлялись не все фото при добавлении их группой.
- Мелкие доработки под капотом
- Обновлен раздел /help
- Добавлена возможность отправлять запросы в ГАИ на беларуском языке.
- Исправлена редкая ошибка непоявления подтверждения отправки обращения.
- исправление опечаток в шаблоне письма
- доработка логгирования
- Кнопка для переввода данных о нарушении
- Реплики бота стали более официальными
- Поправил ошибку неправильного подбора текущего времени.
- Поправил и изменил много где тексты.
- Добавил команду для фидбэка.
- Сделал кнопки под сообщениями и насыпал их побольше.
- Добавил политику конфиденциальности, почитать можно по команде /help.
- Добавил возможность задавать адрес отправкой локации.
- Сделал номер телефона необязательным.