A bot to synchronise chat between an DC hub and a Telegram supergroup. https://code.ivysaur.me/nmdc-telegramfrontend/
Go to file
2018-06-09 18:33:35 +12:00
dist doc: add screenshot (of help message) 2018-06-09 14:01:12 +12:00
vendor run dep-prune (remove some readmes and fixtures from vendor dir) 2018-06-09 12:18:16 +12:00
.hgignore hgignore 2018-06-03 15:28:41 +12:00
coalesce.go extract message-coalesce-buffer to separate file 2018-06-06 19:39:22 +12:00
contented.go support uploading all other telegram filetypes 2018-06-09 13:50:07 +12:00
Gopkg.lock vendor: track h2non/filetype (MIT license) 2018-06-09 12:18:00 +12:00
Gopkg.toml vendor: track h2non/filetype (MIT license) 2018-06-09 12:18:00 +12:00
linkBotMenu.go move user registration to linkbot menu file 2018-06-06 19:41:08 +12:00
main.go isolate debugging messages behind new -Verbose flag (argument, not in config file) 2018-06-03 18:51:59 +12:00
Makefile makefile: initial commit 2018-06-09 18:33:35 +12:00
NTFConfig.go contented: initial work on file upload support 2018-06-06 19:35:54 +12:00
NTFServer.go support uploading all other telegram filetypes 2018-06-09 13:50:07 +12:00
README.txt doc: update README 2018-06-09 13:57:59 +12:00
TODO.txt doc: update TODO 2018-06-04 19:46:57 +12:00
version.go initial commit 2018-06-03 15:27:50 +12:00

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

Tags: NMDC
Written in Go

## 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
	- 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

## 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-03
- Private beta