telegram

A Matrix-Telegram hybrid puppeting/relaybot bridge

AGPL-3.0 License

Downloads
1.7K
Stars
1.2K
Committers
45

Bot releases are visible (Hide)

telegram - v0.9.0-rc1

Published by tulir almost 4 years ago

Breaking changes

  • Prometheus metric names are now prefixed with bridge_
  • An entrypoint script is no longer automatically generated. This won't affect most users, as python -m mautrix_telegram has been the official way to start the bridge for a long time.

Added

  • Support for logging in by scanning a QR code from another Telegram client (#399).
  • Automatic backfilling of old messages when creating portals (#476).
  • Automatic backfilling of missed messages when starting bridge (#477).
  • Option to update m.direct list when using double puppeting.
  • PNG thumbnails for animated stickers when converted to webm (#467).
  • Support for receiving ephemeral events pushed directly with MSC2409 (requires Synapse 1.22 or higher).

Improved

  • Switched end-to-bridge encryption to mautrix-python instead of a hacky matrix-nio solution.
  • End-to-bridge encryption no longer requires login_shared_secret, it uses MSC2778 instead (requires Synapse 1.21 or higher).
  • The bridge info state event is now updated whenever the chat name or avatar changes.
  • Double puppeting is no longer limited to users on the same homeserver as the bridge (#520).
  • Delivery receipts are no longer sent in unencrypted private chat portals, as the bridge bot is usually not present in them (#483).

Fixed

  • File captions are now sent as a separate message like photo captions.
  • The relaybot no longer drops Telegram messages with commands.
  • Bridging events of a user whose power level is malformed (i.e. a string instead of an integer) now works (#526).
telegram - v0.8.2

Published by tulir about 4 years ago

  • Fixed deleting messages from Matrix (#498)
  • Fixed Alpine edge dependencies in Docker image

Note: this release is not on PyPI, as the only changes were a mautrix-python update (v0.5.8) and a fix to the Docker image.

telegram - v0.8.1

Published by tulir over 4 years ago

  • Fixed starting bridge for the first time failing due to not registering the bridge bot (#479)
  • Updated Docker image to Alpine 3.12
telegram - v0.8.0

Published by tulir over 4 years ago

  • Updated to mautrix-python 0.5.0 and matrix-nio 0.12.0

Added

Improved

  • Moved private information to trace log level (#321)

Fixed

  • Riot iOS not showing stickers properly.
  • Updated to Telethon 1.13 to fix bugs like #443.
  • sync_direct_chats option creating non-working portals (#425)
  • Video thumbnailing sometimes leaving behind downloaded videos in /tmp
  • Admin detection on Telegram-side relaybot commands (thanks to @davidmehren in #468)
  • Bug handling ChatForbidden when syncing chats (#446)
  • Infinite loop of avatar changes when using double puppeting (#464)
telegram - v0.8.0-rc5

Published by tulir over 4 years ago

  • Added option to disable removing avatars from Telegram ghosts.
  • Added option to send delivery error notices
  • Added option to send delivery receipts
  • Bumped maximum Telethon version to 1.14
  • Possibly fixed infinite loop of avatar changes when using double puppeting (#464)
telegram - v0.8.0-rc3

Published by tulir over 4 years ago

  • Moved private information to trace log level (#321)
  • Added private_chat_portal_meta option. This is implicitly enabled when encryption is enabled, it was only added as an option for instances with encryption disabled.
  • Removed avatars are now synced properly from Telegram, instead of leaving the last known avatar forever.
  • Fixed admin detection on Telegram-side relaybot commands (thanks to @davidmehren in #468)
  • Fixed bug handling ChatForbidden when syncing chats (#446)
telegram - v0.8.0-rc2

Published by tulir over 4 years ago

  • Implemented MSC2346: Bridge information state event for newly created rooms
  • Fixed sync_direct_chats option creating non-working portals (#425)
  • Fixed video thumbnailing sometimes leaving behind downloaded videos in /tmp
telegram - v0.8.0-rc1

Published by tulir over 4 years ago

Added

  • Command for backfilling room history from Telegram.
  • ARM64 support in docker images.
  • Optional end-to-bridge encryption support (#403). See page on wiki for more info.
  • Bridging for Telegram dice roll messages.

Fixed

  • Riot iOS not showing stickers properly.
  • Updated to Telethon 1.13 to fix bugs like #443.
telegram - v0.7.2

Published by tulir over 4 years ago

No changes since v0.7.2-rc1

telegram - v0.7.2-rc1

Published by tulir over 4 years ago

  • Fixed enabling double puppeting causing saved messages to become unusable (#418)
  • Fixed receiving channel messages when ignore_own_incoming_events was enabled (#417)
telegram - v0.7.1

Published by tulir over 4 years ago

  • Fixed missing response in logout provisioning API
  • Fixed incorrect parameter name causing !tg config set to throw an error.
  • Fixed potential dictionary size changed during iteration crash (#393).
  • Fixed import in database migration script (thanks to @cubesky in #409)
  • Fixed relaybot messages being allowed through to Matrix even when ignore_own_incoming_events was set to true
  • Fixed missing response in logout provisioning API
telegram - v0.7.1-rc2

Published by tulir over 4 years ago

  • Fixed import in database migration script (thanks to @cubesky in #409)
  • Fixed relaybot messages being allowed through to Matrix even when ignore_own_incoming_events was set to true
telegram - v0.7.1-rc1

Published by tulir almost 5 years ago

  • Fixed incorrect parameter name causing !tg config set to throw an error.
  • Fixed potential dictionary size changed during iteration crash (#393).
telegram - v0.7.0

Published by tulir almost 5 years ago

No changes since v0.7.0-rc4

Important changes

  • Dropped Python 3.5 compatibility.
  • Moved docker registry to dock.mau.dev.

Added

  • Support for bridging animated stickers (#340, thanks to @Eramde).
  • Support for MTProxy (#344, thanks to @Eramde).
  • Option to automatically log in to custom puppets (login-matrix) using shared secret login.
  • Config option for max length of displayname, with the default being 100.
  • Separate config option for m.emote formatting of logged in users (#355).
  • Streamed file transfers and parallel telegram file download/upload.
    • Files are streamed from telegram servers to the media repo rather than downloading the whole file into memory.
    • File transfers use multiple connections to telegram servers to transfer faster.
    • Parallel and streamed file transfers can be enabled in the config.
  • Command to set caption for files and images when sending to telegram.
  • Command to get bridge version (#387).
  • Bridging bans to telegram (#303).
  • Helm chart.

Improved

  • Switched to mautrix-python.
  • Users with Matrix puppeting can now bridge their "Saved Messages" chat.
  • The bridge will refuse to start without access to the example config file.
  • Changed default port to 29317 (#345).
  • Mentions are now marked as read on Telegram when bridging read receipts using double puppeting (#337).
  • Kicking or banning the bridge bot will now unbridge the room (#312).
  • Made bridge refuse to start if config contains example values (#388).
  • Shrinked Docker image from 151mb to 81mb.
  • Updated Docker image to Alpine 3.11

Fixed

  • The bridge will no longer crash if one user's startup fails (#292).
  • (hopefully) Incorrect peer type being saved into database in some cases (#304).
  • File names when bridging to Telegram (#376).
  • Alembic config interpolating passwords with % (#362).
  • A single chat failing to sync preventing any chat from syncing (#358).
  • Users logged in as a bot not receiving any messages (#341).
  • Username matching being case-sensitive in the database and preventing telegram->matrix pillifying (#384).
  • IndexError if running !tg set-pl with no parameters.
telegram - v0.7.0-rc4

Published by tulir almost 5 years ago

  • Fixed handling of Matrix m.emote events
telegram - v0.7.0-rc3

Published by tulir almost 5 years ago

  • Added option to log in to custom puppet with shared secret (https://github.com/devture/matrix-synapse-shared-secret-auth)
  • Updated Docker image to Alpine 3.11
  • Improved displayname syncing by trusting any displayname if user is not a contact
  • Fixed error when cleaning up rooms
  • Fixed stack traces being printed to non-admin users (#392)
  • Fixed invite rejections being handles as leaves (#402)
  • Fixed version command output in CI docker builds not showing the correct git commit hash
telegram - v0.7.0-rc2

Published by tulir almost 5 years ago

  • Added command to get bridge version (#387).
  • Made bridge refuse to start if config contains example values (#388).
  • Removed some debug stack traces (#389).
  • Ignored ChatForbidden when syncing chats that was causing the sync to fail (#390).
  • Fixed DB migration causing some incorrect values to be left behind (#391).
telegram - v0.7.0-rc1

Published by tulir almost 5 years ago

Important changes

  • Dropped Python 3.5 compatibility.
  • Moved docker registry to dock.mau.dev.

Added

  • Support for bridging animated stickers (#340, thanks to @Eramde).
  • Support for MTProxy (#344, thanks to @Eramde).
  • Config option for max length of displayname, with the default being 100.
  • Separate config option for m.emote formatting of logged in users (#355).
  • Streamed file transfers and parallel telegram file download/upload.
    • Files are streamed from telegram servers to the media repo rather than downloading the whole file into memory.
    • File transfers use multiple connections to telegram servers to transfer faster.
    • Parallel and streamed file transfers can be enabled in the config.
  • Command to set caption for files and images when sending to telegram.
  • Bridging bans to telegram (#303).
  • Helm chart.

Improved

  • Switched to mautrix-python.
  • Users with Matrix puppeting can now bridge their "Saved Messages" chat.
  • The bridge will refuse to start without access to the example config file.
  • Changed default port to 29317 (#345).
  • Mentions are now marked as read on Telegram when bridging read receipts using double puppeting (#337).
  • Kicking or banning the bridge bot will now unbridge the room (#312).
  • Shrinked Docker image from 151mb to 77mb.

Fixed

  • The bridge will no longer crash if one user's startup fails (#292).
  • (hopefully) Incorrect peer type being saved into database in some cases (#304).
  • File names when bridging to Telegram (#376).
  • Alembic config interpolating passwords with % (#362).
  • A single chat failing to sync preventing any chat from syncing (#358).
  • Users logged in as a bot not receiving any messages (#341).
  • Username matching being case-sensitive in the database and preventing telegram->matrix pillifying (#384).
  • IndexError if running !tg set-pl with no parameters.
telegram - v0.6.1

Published by tulir about 5 years ago

No changes since v0.6.1-rc2

  • Started ignoring invalid reply fallbacks sent by Riot web in edits
  • Added 100-character displayname limit to avoid synapse errors
  • Fixed one user's startup failing causing the bridge to crash (#292)
  • Fixed one portal's sync failing causing the whole sync to fail (#358)
  • Added .gitlab-ci.yml
telegram - v0.6.1-rc2

Published by tulir about 5 years ago

  • Removed invalid reply fallbacks from edits
  • Added .gitlab-ci.yml