Releases: yaLexus/TeleMesh
Releases · yaLexus/TeleMesh
1.5.009
чёрный список, сохранение состояния, улучшенное логирование
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.
TeleMesh v1.5.003 – Записная книжка, отправка по номерам и @username, поддержка реакций
TeleMesh v1.5.003 – Записная книжка, отправка по номерам и @username, поддержка реакций
✨ Новые возможности
-
Записная книжка (Contact Book)
- Добавление контактов из Telegram по команде
!add(или!добавить) в ответ на сообщение - Просмотр списка контактов с номерами через
!list(!список) - Удаление контактов по номеру или текущего пользователя через
!del(!удалить) - Контакты сохраняются в файл
contacts_<ID_ноды>.json, что позволяет использовать разные книжки для разных целевых нод
- Добавление контактов из Telegram по команде
-
Отправка сообщений контактам по номеру
- Формат
!5 Привет– отправляет сообщение контакту под номером 5 из записной книжки - Поддерживается как с пробелом после
!, так и без пробела
- Формат
-
Отправка сообщений по @username
- Формат
@username сообщение– сообщение доставляется пользователю Telegram по его юзернейму - Автоматический поиск через Telegram API, если пользователь не найден в записной книжке
- Формат
-
Поддержка реакций для отправленных сообщений
- Реакции, поставленные в Telegram на сообщения, отправленные через
!nили@username, теперь корректно пересылаются в Mesh на исходный пакет команды
- Реакции, поставленные в Telegram на сообщения, отправленные через
-
Параметр командной строки
--no-welcome- Отключает отправку приветственного сообщения в Mesh при запуске (полезно для перезапусков без спама)
-
Унифицированное распознавание команд
- Единый модуль для распознавания команд
!start,!stop,!add,!list,!delс поддержкой смешанных латиницы и кириллицы (например,!cтapт)
- Единый модуль для распознавания команд
🐛 Исправления
- Исправлена проблема с транслитерацией команд – теперь
!cтapткорректно распознаётся как!старт - Улучшена обработка медиа‑сообщений без текста
📦 Изменения в конфигурации
- Добавлена опциональная настройка
CONTACT_BOOK_FILE(по умолчанию формируется автоматически) - Файл контактов сохраняется в
ACC_BD_PATH(по умолчанию.)
🔧 Технические детали
- Кэш сообщений расширен для поддержки связывания
mesh_packet_idсtg_msg_idпри отправке через новые команды - Асинхронные функции
send_to_contact_by_slotиsend_to_contact_by_usernameобеспечивают корректную маршрутизацию - Записная книжка защищена блокировкой для безопасного доступа из разных потоков
🚀 Как обновиться
Просто замените файл telemesh.py на новую версию. Старые файлы контактов (если использовали ранее) несовместимы, но скрипт создаст новый файл для вашего DEST_NODE_ID.
Для отключения приветственного сообщения при запуске используйте:
python telemesh.py my_acc.py --no-welcome