A simple Telegram ↔ IRC gateway.
- Official IRC channel: #teleirc @ irc.freenode.net
- Official Telegram group: Run
teleirc --join-tg
for URL (to prevent spambots)
- Supports multiple IRC channel ↔ Telegram group pairs
- Telegram messages are always relayed to their respective IRC channel
- IRC messages can be configured either to be relayed always, or only when the bot is hilighted via a configurable regexp
- Supports Telegram media files, URL to file sent to IRC
On Ubuntu:
sudo apt-get install libicu-dev
Make sure you've installed the latest LTS version of Node.js.
- Install the teleirc npm module with
npm install -g teleirc
(might need sudo) - Generate a default config using
teleirc --genconfig
NOTE: if this step fails, trymkdir ~/.teleirc
and run the command again (FIXME). - Set up your bot with BotFather
- Use the
/setprivacy
command withBotFather
to allow your bot to see all messages in your group (NOTE on usage: bot name is preceded by @ sign and 'Disable' is case-sensitive) - Edit the default config
$EDITOR ~/.teleirc/config.js
- Run
teleirc
- Invite your bot to any Telegram groups you've configured it for
- Greet your bot once on each of your Telegram groups 🎉! This is needed to fetch (and store!) an internally used group ID, making communication from IRC to the correct Telegram group possible.
Optional:
- For your convenience, there is an included systemd unit file: teleirc.service
- You can change your Telegram Bot's profile picture with the
/setuserpic
BotFather command. Here's an example icon for you. - You can tell Telegram which commands the teleirc bot supports by using the
/setcommands
BotFather command. You may copy-paste the contents ofcommands.txt
to show all supported commands to Telegram clients. - Instead of enabling the HTTP server for serving sent media files, photo files sent to the groups can be uploaded to Imgur. See the README for Imgur for more information.
- Check your system clock. By default if a Telegram message's timestamp is
older than one minute compared to your system clock, the message is skipped.
You can configure this behaviour via
config.maxMsgAge
. - Make sure your Telegram group's name and IRC channel has been entered correctly in your config (case sensitive!)
- Run with verbose flags to see more output:
teleirc -vvv
See CONTRIBUTING.md for developer info
See the README for Docker