Zhabogram — транспорт (мост, шлюз) от мрежата Jabber (XMPP) към мрежата Telegram, написан на Ruby. Предшественик на tg4xmpp.
Зависимости
- Ruby >= 1.9
- xmpp4r == 0.5.6
- tdlib-ruby == 2.0 с компилиран tdlib == 1.3
Възможности
- Авторизация в съществуващ акаунт в Telegram
- Синхронизиране на списъка с чатове с ростера
- Синхронизиране на статусите на контактите с ростера
- Добавяне и изтриване на Telegram контакти
- Поддръжка на VCard с аватари
- Изпращане, приемане, редактиране и изтриване на съобщения
- Обработка на цитати и пренасочени съобщения
- Изпращане и приемане на файлове и специални съобщения (поддръжка на снимки, видео, аудио, документи, гласови съобщения, стикери, анимации, геолокации, системни съобщения)
- Поддръжка на секретни чатове
- Създаване, управление и модериране на чатове/супергрупи/канали
- Запазване на сесии и автоматично свързване при вход в мрежата XMPP
- Получаване на история и търсене по съобщения
- Управление на акаунта в Telegram
Съществени промени до версия 1.0, новини за която не бяха публикувани в LOR:
- Добавена обработка на SIGINT с правилно затваряне на всички сесии
- Добавени (и по-късно премахнати) поддръжка iq:jabber:register (регистрация на потребители), iq:jabber:gateway (търсене на контакти)
- Дълги борби с профайлера в Ruby, докато не разбраха, че течът идва от tdlib (разработчиците закриха бъг с WONTFIX — това е функция)
Промени до версия 2.0:
- Добавена поддръжка на OTR (ако Zhabogram се използва от двете страни — не питайте.)
- Използване на сериализация YAML вместо sqlite3 за запазване на сесиите.
- Премахнато автоматичното определяне на часовата зона, тъй като някои клиенти не спазват протокола и изпращат бъркотия
- Коригирани заявки за авторизация (абонамент) от публични канали, от които е пренасочено (forwarded) съобщение, но не сте абонат на канала
Промени в версия 2.0
- NB! Счупена обратна съвместимост с конфигурационния файл и файла със сесии (за поддръжка на индивидуални настройки в бъдеще).
- Кодът е пренаписан на 80% — сега е много по-четим. Вътрешната логика е подредена.
- Броят на заявките към Telegram е намален три пъти
- Премахнати jabber:iq:register, jabber:iq:gateway
- Пренаписани /команди — сега те са различни за чатове и за самия транспорт (системни функции). За списък с команди изпратете команда /help.
За инсталиране е нужен собствен Jabber сървър. Препоръчва се да получите API ID и API HASH в Telegram за по-стабилна работа. Подробни инструкции можете да намерите в файла README.md.
Източник: linux.org.ru
