Skip to content

чёрный список, сохранение состояния, улучшенное логирование

Choose a tag to compare

@yaLexus yaLexus released this 24 Mar 19:16
· 13 commits to main since this release
844a679

TeleMesh v1.5.007 – чёрный список, сохранение состояния, улучшенное логирование

🆕 Новое в версии 1.5.007 (по сравнению с 1.5.003)

⛔ Чёрный список

  • Управление через команды с префиксом #:
    • #add / #добавить – добавить пользователя в чёрный список (только при ответе на его сообщение)
    • #list / #список – показать список заблокированных
    • #del / #удалить [номер] – удалить из чёрного списка (по номеру или текущего при ответе)
  • Сообщения от заблокированных пользователей не пересылаются в Mesh.

💾 Сохранение состояния пересылки

  • Команды !stop / !start теперь сохраняют состояние в файл forward_state_<ID_ноды>.json.
  • При перезапуске скрипта состояние восстанавливается – пересылка включается/выключается автоматически.

🛡️ Исправление конфиденциальности

  • При отключённой пересылке сообщения из Telegram больше не отправляют ответ «⚠️ Пересылка остановлена.» – они просто игнорируются.
  • Это предотвращает утечку информации о том, что бот активен.

🧹 Очистка очереди ACK при остановке

  • Команда !стоп теперь очищает все ожидающие подтверждения сообщения – никаких повторных отправок после остановки.

📊 Улучшенный вывод активных опций в лог

  • В логе при запуске отображаются не только имена переменных, но и их человеко-читаемые описания (например, FORWARD_ENABLED (Пересылка)).
  • Дублирование информации устранено.

🔧 Технические улучшения

  • Добавлена блокировка pending_acks_lock для потокобезопасной работы с очередью ACK.
  • Унифицированы функции работы со списками (контакты и чёрный список) – код стал чище и легче поддерживать.
  • Динамические файлы: для каждого DEST_NODE_ID создаются отдельные файлы контактов, чёрного списка и состояния пересылки.

🚀 Как обновиться

Просто замените файл telemesh.py на новую версию.
Скрипт автоматически создаст недостающие файлы (контакты, чёрный список, состояние).
Старые файлы контактов (contacts_<ID>.json) останутся совместимы.

Подробное описание всех команд и возможностей – в README.