Zhabogram 2.0 - transport from Jabber to Telegram

Zhabogram is a transport (bridge, gateway) from the Jabber (XMPP) network to the Telegram network, written in Ruby. Successor to tg4xmpp.

  • Addictions

    • Ruby >= 1.9
    • xmpp4r==0.5.6
    • tdlib-ruby == 2.0 with compiled tdlib == 1.3
  • Capabilities

    • Authorization in an existing Telegram account
    • Synchronization of the list of chats with the roster
    • Synchronization of contact statuses with the roster
    • Adding and deleting Telegram contacts
    • Support for VCard with avatars
    • Sending, receiving, editing and deleting messages
    • Handling quotes and forwarded messages
    • Sending and receiving files and special messages (support for photos, videos, audio, documents, voice messages, stickers, animations, geolocations, system messages)
    • Support for secret chats
    • Create, manage and moderate chats/supergroups/channels
    • Saving sessions and automatic connection when entering the XMPP network
    • Get history and search by messages
    • Telegram account management
  • Significant changes before version 1.0, the news about which was not on LOR:

    • Added handling of SIGINT with correct closing of all sessions
    • Added (and later removed) support for iq:jabber:register (user registration), iq:jabber:gateway (contact search)
    • Long butts with the profiler in Ruby, until they realized that tdlib was leaking (the developers closed the bug with WONTFIX - it's a feature)
  • Changes before version 2.0:

    • Added OTR support (if Zhabogram is used on both sides - don't ask.)
    • Using YAML serialization instead of sqlite3 to save sessions.
    • Removed automatic time zone detection due to the fact that some clients do not follow the protocol and send porridge
    • Fixed requests for authorization (subscription) from public channels from which the message was redirected (forwarded), but of which you are not a subscriber
  • Changes in version 2.0

    • NB! The backward compatibility of the config file and the session file is broken (to support individual settings in the future).
    • The code has been rewritten by 80% - now it is much more readable. The internal logic is in order.
    • The number of requests to Telegram has been reduced by three times
    • Removed jabber:iq:register, jabber:iq:gateway
    • Rewritten /commands - now they are different for chats and for the transport itself (system functions). Send /help for a list of commands.

You will need your own Jabber server for installation. It is recommended to get API ID and API HASH in Telegram for more stable work. Detailed instructions can be found in the README.md file.

Source: linux.org.ru

Add a comment