This repository is no longer maintained.
slack-to-telegram
is a simple way to forward notifications from Slack to Telegram when you are not logged into Slack. It uses Slack's Real Time Messaging API to connect to specified accounts and will forward messages through Telegram's Bot API to you.
I currently run an Android OS on my phone without Google services. Slack for Android requires Google Cloud Messaging (GCM) in order to receive notifications. Since Telegram has its own mechanism for notifications on Android that does not rely on GCM, I decided to use this as a workaround to receive timely Slack notifications.
- Support for multiple Slack workspaces
- Get notifications for direct messages and @username callouts in channels
- From the Telegram account you want to receive messages on, get your user ID by sending a message to
@get_id_bot
- Create a telegram bot (https://core.telegram.org/bots#3-how-do-i-create-a-bot) and get the token
- Send a test message from your Telegram account to your bots username
- For each Slack account you want to forward messages, you'll need access to the RTM API which previously was possible with legacy tokens but this has been disabled now. Instead you can use this approach which doesn't require installing an app in your organization. Or if you can't get that to work, you can use slack-rtm-token to get an OAuth token with appropriate access, but this will require installing an app in each organization.
Create a file named config.toml and fill in the details from initial setup above.
[telegram]
user = 123456789
token = "323456789:ABCDE_fB19OHQZUF3FPPPF43PTEEB"
[[slack]]
name = "workspace #1"
token = "xoxp-xxxxxxx-xxxxxxxx-xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
[[slack]]
name = "workspace #2"
token = "xoxp-xxxxxxx-xxxxxxxx-xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
The easiest way is to download a pre-built binary from the GitHub Releases page.
You can also just run it as a docker container.
docker run --restart=always -d -v $(pwd)/config.toml:/config.toml vdan/slack-to-telegram:latest
./slack-to-telegram --config config.toml
- Should I use slack-to-telegram? That's up to you. Use at your own risk.
- Slack API (slack-go/slack)
- Telegram Bot API (telegram-bot-api.v4)
- TOML parser (BurntSushi/toml)
make tools && make