A simple Telegram ↔ IRC gateway.
- Official IRC channel: #teleirc @ irc.freenode.net
- Official Telegram group: Run
teleirc --join-tgfor 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
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 --genconfigNOTE: if this step fails, try
mkdir ~/.teleircand run the command again (FIXME).
- Set up your bot with BotFather
- Use the
BotFatherto 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
- 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.
- For your convenience, there is an included systemd unit file: teleirc.service
- You can change your Telegram Bot's profile picture with the
/setuserpicBotFather command. Here's an example icon for you.
- You can tell Telegram which commands the teleirc bot supports by using the
/setcommandsBotFather command. You may copy-paste the contents of
commands.txtto 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
- 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:
See CONTRIBUTING.md for developer info
See the README for Docker