buildbuildsuccesssuccess written inwritten inGoGo

A bot to synchronise chat between an DC hub and a Telegram supergroup.

Tags: NMDC


• Supports NMDC / NMDCS / ADC / ADCS hubs
• Automatically upload photos/files/videos/audio/stickers to a Contented server for DC users
• Fallback upload to thumbnail-only if exceeding declared Contented file size limit
• Convert telegram quoted messages to DC quoting style
• Exclude messages from multiple hub nicks (e.g. Hub-Security / PtokaX and helper bots)
• Standalone binary
• PM with native users
• Get native userlist inside the telegram group chat
• Option for length requirement on native nick
• Disconnect telegram users who fail to log in to the upstream hub


Create a new telegram bot
- Use BotFather to create a new bot
- Use BotFather to disable its privacy mode for group chats
- Use BotFather to add commands (that appear in the groupchat). Recommendation: userlist - List native online users

Create a telegram group
- Manually create a group chat and add the bot to it
- Convert group chat to supergroup
- Grant bot to be an administrator (including ability to add more administrators)
- Settings > "Who can add members" > Only administrators
- Create an invite link

Handover to nmdc-telegramfrontend
- Run this bot with no -GroupChatID, to learn the groupchat ID
- Post a test message in the group chat, to discover the groupchat ID
- Leave the group chat (long press on mobile, can't do it on desktop)
- Run this bot with -GroupChatID for normal operation


Chat with the bot to enter/leave the synchronised channel.

Sometimes the telegram invite links can take a few minutes to activate, especially if there has been unusual activity (e.g. frequent join/parts)


2018-06-10 1.0.1
• Send DC captions on TG photos and voice clips
• Send DC message when sharing a TG contact
• Fix a cosmetic issue with missing format specifier in log message
2018-06-09 1.0.0
• Initial public release
• Private beta


For bug reports, feature requests, or if you need any help, please click here to email me.