чёрный список, сохранение состояния, улучшенное логирование
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.