c0febbff0ad27f6ac18092669855f99b659c0323
mautrix-telegram
Work in progress: Expect bugs, do not use in production.
A Matrix-Telegram puppeting bridge.
Discussion
Matrix room: #telegram:maunium.net
A Telegram chat will be created once the bridge is stable enough.
Usage
Setup
- Clone the repository and install packages with
npm install. Also, you'll probably need to runnpm run fix-auth-renewalto roll back telegram-mtproto to a version where server salt renewal works (zerobias/telegram-mtproto#99) - Create a copy of
example-config.yamland fill out the fields. - Generate the appservice registration with
./mautrix-telegram -g. You can use the-cand-rflags to change the location of the config and registration files. They default toconfig.yamlandregistration.yamlrespectively. - Run the bridge
./mautrix-telegram. You can also use forever:forever start mautrix-telegram(probably, I didn't actually test it). - Invite the appservice bot to a private room and view the commands with
help.
Logging in
- Make sure you have set up the bridge and have an open management room (a room with no other users than the appservice bot).
- Request a Telegram auth code with
login <phone number>. - Send your auth code to the management room.
- If you have two-factor authentication enabled, send your password to the room.
- If all prior steps were executed successfully, the bridge should now create rooms for all your Telegram dialogs and invite you to them.
Features & Roadmap
- Matrix → Telegram
- Plaintext messages
- Images
- Files
- Message redactions
- Presence (currently always shown as online on Telegram)
- Typing notifications (may not be possible)
- Power level
- Telegram → Matrix
- Plaintext messages
- Images
- Stickers (somewhat works through document upload, no preview though)
- Audio messages
- Video messages
- Documents
- Locations
- Presence
- Typing notifications
- Message edits
- Message deletions
- Admin status
- Initial group/channel name/description
- Group/channel name/description changes
- Initiating chats
- Automatic portal creation for groups/channels at startup
- Automatic portal creation for groups/channels when receiving invite/message/etc
- Private chat creation by inviting Telegram user to new room
- Inviting Telegram users to group/channel portals
- Joining public channels/supergroups using room aliases
- Searching for Telegram users using management commands
- Misc
- Use optional bot to relay messages for unauthenticated Matrix users
- Properly handle upgrading groups to supergroups
- Creating new Telegram groups from Matrix
- Creating Telegram groups for existing Matrix rooms
Languages
Go
96.5%
Go Template
3%
Teal
0.3%