code.ivysaur.me

nmdc-telegramfrontend

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

Features

  • 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

Setup

Create a new telegram bot

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

Create a telegram group

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

Handover to nmdc-telegramfrontend

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

Usage

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)

Changelog

2018-06-10 1.0.1

2018-06-09 1.0.0

2018-06-03

  • Private beta