Skip to content

TeleMesh v1.5.003 – Записная книжка, отправка по номерам и @username, поддержка реакций

Choose a tag to compare

@yaLexus yaLexus released this 24 Mar 08:09
c6c9cf6

TeleMesh v1.5.003 – Записная книжка, отправка по номерам и @username, поддержка реакций

✨ Новые возможности

  1. Записная книжка (Contact Book)

    • Добавление контактов из Telegram по команде !add (или !добавить) в ответ на сообщение
    • Просмотр списка контактов с номерами через !list (!список)
    • Удаление контактов по номеру или текущего пользователя через !del (!удалить)
    • Контакты сохраняются в файл contacts_<ID_ноды>.json, что позволяет использовать разные книжки для разных целевых нод
  2. Отправка сообщений контактам по номеру

    • Формат !5 Привет – отправляет сообщение контакту под номером 5 из записной книжки
    • Поддерживается как с пробелом после !, так и без пробела
  3. Отправка сообщений по @username

    • Формат @username сообщение – сообщение доставляется пользователю Telegram по его юзернейму
    • Автоматический поиск через Telegram API, если пользователь не найден в записной книжке
  4. Поддержка реакций для отправленных сообщений

    • Реакции, поставленные в Telegram на сообщения, отправленные через !n или @username, теперь корректно пересылаются в Mesh на исходный пакет команды
  5. Параметр командной строки --no-welcome

    • Отключает отправку приветственного сообщения в Mesh при запуске (полезно для перезапусков без спама)
  6. Унифицированное распознавание команд

    • Единый модуль для распознавания команд !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