Zhabogram — Transport (Brücke, Gateway) von Jabber (XMPP) zu Telegram, geschrieben in Ruby. Nachfolger von tg4xmpp.
Abhängigkeiten
- Ruby >= 1.9
- xmpp4r == 0.5.6
- tdlib-ruby == 2.0 mit kompilierter tdlib == 1.3
Funktionen
- Anmeldung bei einem bestehenden Telegram-Konto
- Synchronisation der Chatliste mit dem Roster
- Synchronisation der Kontostatus mit dem Roster
- Hinzufügen und Entfernen von Telegram-Kontakten
- Unterstützung für VCard mit Avataren
- Versenden, Empfangen, Bearbeiten und Löschen von Nachrichten
- Verarbeitung von Zitaten und weitergeleiteten Nachrichten
- Übertragung und Empfang von Dateien und speziellen Nachrichten (Unterstützung für Fotos, Videos, Audios, Dokumente, Sprachnachrichten, Sticker, Animationen, Geolokalisierungen, Systemnachrichten)
- Unterstützung für geheime Chats
- Erstellen, Verwalten und Moderieren von Chats/Supergruppen/Kanälen
- Speichern von Sitzungen und automatisches Verbinden beim Einstieg ins XMPP-Netz
- Abrufen von Nachrichtenverlauf und Suchen in Nachrichten
- Verwalten des Telegram-Kontos
Wesentliche Änderungen vor Version 1.0, deren Neuigkeiten auf LOR nicht veröffentlicht wurden:
- Verarbeitung von SIGINT mit korrekt geschlossenen Sitzungen hinzugefügt
- Unterstützung für iq:jabber:register (Benutzerregistrierung), iq:jabber:gateway (Kontaktsuche) hinzugefügt (und später entfernt)
- Lange Kämpfe mit dem Profiler in Ruby, bis klar wurde, dass tdlib ein Leck hat (Entwickler haben den Bug mit WONTFIX geschlossen — das ist ein Feature)
Änderungen vor Version 2.0:
- Unterstützung für OTR hinzugefügt (wenn Zhabogram auf beiden Seiten verwendet wird — frag nicht.)
- Verwendung von YAML-Serialisierung anstelle von sqlite3 zur Speicherung von Sitzungen.
- Automatische Zeitzonenerkennung entfernt, da einige Clients dem Protokoll nicht folgen und durcheinander senden
- Autorisierungsanfragen (Abonnements) von öffentlichen Kanälen korrigiert, aus denen eine weitergeleitete Nachricht stammte, bei der Sie jedoch kein Abonnent sind
Änderungen in Version 2.0
- NB! Die Rückwärtskompatibilität der Konfigurationsdatei und der Sitzungsdatei ist gebrochen (zur Unterstützung individueller Einstellungen in Zukunft).
- Der Code wurde zu 80% neu geschrieben — jetzt ist er deutlich lesbarer. Die interne Logik wurde in Ordnung gebracht.
- Die Anzahl der Anfragen an Telegram wurde um das Dreifache reduziert
- jabber:iq:register, jabber:iq:gateway entfernt
- Die /Befehle wurden neu geschrieben — jetzt sind sie unterschiedlich für Chats und für den Transport selbst (Systemfunktionen). Um eine Liste der Befehle zu erhalten, senden Sie den Befehl /help.
Für die Installation wird ein eigener Jabber-Server benötigt. Es wird empfohlen, eine API-ID und API-Hash in Telegram zu erhalten, um stabiler zu arbeiten. Eine detaillierte Anleitung finden Sie in der Datei README.md.
Quelle: linux.org.ru
