Обновления

Мелкие правки и крупные обновления

26.07.2025 v0.1

Обновление движка бота и запуск альфа-теста. В этот релиз была улучшена стабильность обработки апдейтов и начата подготовка к внедрению новых команд.

10.08.2025 v0.2

Защита от дублирования сообщений: при обработке событий getChatMember(), getNewChatMembers() и getLeftChatMember() Телеграм дублирует сообщения при входе/выходе пользователя. Ранее бот обрабатывал каждое сообщение, что приводило к дублям в чате. Теперь бот проверяет уникальность апдейта по update_id и игнорирует повторные события.

Защита от использования бота без настроенного парка: если профиль парка не заполнен или парк не добавлен (нет привязки к ID чата), бот ограничивает действия. Базовое оповещение остаётся, а также появляется уведомление о необходимости завершить настройку, чтобы избежать ошибок при работе команд и репортов.

Игнорирование служебных приватных чатов: после первого получения ID приватного чата бот сохраняет его в базе и перестаёт логировать и обрабатывать все последующие апдейты из этого чата, кроме команды /getid, если она используется для первичной регистрации.

15.08.2025 v0.3

Добавлена система репортов: при ответе на сообщение нарушителя командой /report бот отправляет оповещение в командный чат. Если командный чат не добавлен, уведомление отправляется руководителю парка. При этом бот корректно формирует ссылку на сообщение и отображает имя нарушителя.

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

Обработка команд /ban и /allban: теперь сначала проверяется, что апдейт не из приватного чата, затем проверяются права пользователя, и только после этого выполняется бан. Это предотвращает ошибки при попытке использования команд в личных чатах с ботом.

Обработка апдейтов: бот проверяет update_id, чат и тип сообщения перед выполнением логики, что минимизирует дублирование событий и нагрузку на систему.

Антиспам и антифлуд: добавлены проверки частоты сообщений и команд, чтобы предотвратить массовые повторные действия и засорение чатов. Бот ограничивает выполнение команд при превышении установленного порога и уведомляет пользователя о превышении лимита.

18.08.2025 v0.4

Команда /contact: теперь бот корректно отображает контакты парка в личных и групповых чатах. В чате парка — контакты данного парка, в личном чате — контакты привязанного к пользователю парка.

Кликабельные ссылки и оформление: все контакты выводятся с иконками сервисов и кликабельными ссылками, что упрощает доступ к ресурсам парка.

Страница-визитка парка: автоматически формируется при заполнении контактов в панели управления парка и доступна через ссылки, уникальные для каждого парка с привязкой к ID парка в системе (пример для Полюстровского парка с ID1: https://5api.ru/link/1).

Безопасность в группах: если пользователь пытается использовать /contact в группе и бот ещё не может писать в личку, выводится уведомление с ссылкой для начала диалога с ботом. Командное сообщение удаляется из чата, чтобы не засорять историю.

28.08.2025 v0.5

Интеграция с CAS (Combot Anti-Spam): при первом добавлении пользователя в базу бот теперь делает проверку через сервис CAS. Если пользователь найден в базе спамеров — ему присваивается статус rank = 0 и он автоматически блокируется.

Обработка ошибок: если запрос к CAS не удался из-за проблем с сетью или неизвестной ошибки, регистрация пользователя происходит стандартным образом, с обычным статусом rank = 1.

Прозрачность для администраторов: бот отправляет уведомление в чат, если пользователь заблокирован по CAS, с текстом: «⚠️ Пользователь Иван (@username) забанен. Причина: спам база CAS. Спам не пройдёт!».

Возможность апелляции: блокировка по нахождению в спам-базе CAS не является окончательной. Если предыдущий пользователь был спамером и ID нового пользователя оказался в базе по ошибке, пользователь может обратиться к амбассадору или команде парка для пересмотра статуса.

Безопасность: новые пользователи из спам-баз не получают доступ к функциям бота до уточнения статуса, что предотвращает злоупотребления и спам в чатах парка.