• This repository has been archived on 09/Oct/2019
  • Stars
    star
    273
  • Rank 147,368 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple Telegram โ†” IRC gateway.

NOTE: no longer maintained, look for alternatives such as: https://github.com/42wim/matterbridge

Logo

A simple Telegram โ†” IRC gateway.

Build Status npm module dependencies devDependencies

Features:

  • 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

Requirements

On Ubuntu:

sudo apt-get install libicu-dev

Quick start

Make sure you've installed the latest LTS version of Node.js.

  1. Install the teleirc npm module with npm install -g teleirc (might need sudo)
  2. Generate a default config using teleirc --genconfig NOTE: if this step fails, try mkdir ~/.teleirc and run the command again (FIXME).
  3. Set up your bot with BotFather
  4. Use the /setprivacy command with BotFather 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)
  5. Edit the default config $EDITOR ~/.teleirc/config.js
  6. Run teleirc
  7. Invite your bot to any Telegram groups you've configured it for
  8. 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 of commands.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.

Troubleshooting

  1. 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.
  2. Make sure your Telegram group's name and IRC channel has been entered correctly in your config (case sensitive!)
  3. Run with verbose flags to see more output: teleirc -vvv

Contributing

See CONTRIBUTING.md for developer info

Docker install

See the README for Docker

More Repositories

1

homectl-server

A simple home automation server written in Rust
Rust
58
star
2

znc-backlog

Request backlog for IRC channels
C++
32
star
3

nodeplayer

simple, modular music player written in node.js
JavaScript
27
star
4

ArcWatch

Android Wear watchface
Java
16
star
5

tgameboy

silly gameboy telegram bot - or how to get banned from telegram
JavaScript
11
star
6

negative_scanner

This project consists of a Rust program and Arduino sketch that helps scan 35mm film negatives using a DSLR camera and a motorized negative feeder
Rust
9
star
7

dioxus-websocket-hooks

Dioxus hooks for websocket connections
Rust
7
star
8

nixfiles

NixOS configuration files
Nix
7
star
9

vod-webrtc

VoD service which dynamically utilizes a P2P WebRTC network
JavaScript
6
star
10

telegit

GitHub web hooks for your Telegram groups
JavaScript
6
star
11

lightctl

Node.js based home automation system for lights
JavaScript
6
star
12

snapsen

Snapsen is a digital songbook app
JavaScript
5
star
13

busmap-web

Rewrite of busmap using Leaflet
TypeScript
4
star
14

dotfiles

FruitieX' dotfiles
Vim Script
4
star
15

tgdb-api

A simple wrapper for TheGamesDB API
JavaScript
4
star
16

easy-netem

Helper scripts for netem
Shell
4
star
17

long-cmd-notifier

Send system notification when long running commands finish in the background
Shell
3
star
18

tg-triviabot

triviabot for Telegram
JavaScript
3
star
19

tinyseq-tracker

A web-based music tracker for tinyseq
TypeScript
3
star
20

iowatch

Android Wear watchface inspired by a Google I/O talk
Java
3
star
21

matrix-appservice-telegram

Node.js Telegram bridge for Matrix
JavaScript
3
star
22

homelab

This repo contains a declarative, GitOps definition of my homelab
Nix
3
star
23

vm-scripts

My VM scripts
Shell
3
star
24

snapsen-web

Snapsen app rewritten for the web
TypeScript
3
star
25

webrtc-benchmark

WebRTC benchmarking web application
JavaScript
3
star
26

ircsitz

TypeScript
2
star
27

backend-kit

Get started with backend development
JavaScript
2
star
28

tinyseq

A tiny Web Audio API OscillatorNode -based music sequencer
Lua
2
star
29

moviebot

TypeScript
2
star
30

node-vimrl

Node readline-like implementation entirely in javascript, with vim-like keybindings.
JavaScript
2
star
31

busmap-react

Realtime location viewer for Helsinki area public transport vehicles
JavaScript
2
star
32

1k-webgl

JavaScript
2
star
33

materialwatch

Material Design inspired watch face for Android Wear
Java
2
star
34

io-ts-koa-middleware

Validate requests with io-ts in your Koa middleware
TypeScript
2
star
35

youtube-queue-thing

Simple YouTube party queue written in PureScript.
PureScript
2
star
36

lightctl-koa

A rewrite of lightctl using Koa and TypeScript.
TypeScript
2
star
37

nodifier

A very simple CLI program capable of receiving notifications
JavaScript
2
star
38

busmap-gljs

TypeScript
2
star
39

hue-mqtt

This program synchronizes a Philips Hue bridge with an MQTT broker.
Rust
2
star
40

bingo-app

TypeScript
2
star
41

purescript-ws

PureScript bindings for 'ws' library
PureScript
1
star
42

multiplayer

Node server which serves webpage with buttons so everyone can play a game at once
JavaScript
1
star
43

bloody-brilliant

bloody brilliant
JavaScript
1
star
44

jsiid

IRC to jsii bridge
JavaScript
1
star
45

redux-counter-example

JavaScript
1
star
46

net-event

easily extend node net/tls modules with events
JavaScript
1
star
47

MyCurses-Mozilla

Mozilla extension that replaces occurrences of 'MyCourses' with 'MyCurses'
JavaScript
1
star
48

react-template

Template for React projects
JavaScript
1
star
49

twinkly-mqtt

Rust
1
star
50

purescript-sockjs-node

Purescript bindings for sockjs-node
PureScript
1
star
51

MyCurses-Chrome

Chrome extension that replaces occurrences of 'MyCourses' with 'MyCurses'
JavaScript
1
star
52

hackzurich

JavaScript
1
star
53

dmenu-xft

C
1
star
54

nodifier-gmail

gmail client for nodifier
JavaScript
1
star
55

dagsen-bot

JavaScript
1
star
56

busmap

Realtime location viewer for Helsinki area public transport vehicles
JavaScript
1
star
57

rust-async-tuyapi

Rust
1
star
58

lifx-mqtt

Rust
1
star
59

twinkly-rs

Unofficial Twinkly library for the Rust programming language
Rust
1
star
60

btrfs-backup

Easy incremental backups with btrfs
Shell
1
star
61

home.nix

Home Manager configuration files
Nix
1
star
62

homectl-next

TypeScript
1
star
63

jsii

node.js user interface for the ii irc client
JavaScript
1
star
64

nodecade

Node.js / nw.js based arcade game chooser
JavaScript
1
star
65

homectl-ts

fairly simple home automation ๐Ÿšง WORK IN PROGRESS ๐Ÿšง
TypeScript
1
star
66

esp32-volume-control-sender

C
1
star
67

esp32-volume-control-receiver

C
1
star
68

tuya-mqtt

Rust
1
star
69

adb-mqtt

Rust
1
star
70

tinyseq-xrns-loader

Webpack 3 loader for Renoise XRNS files, which outputs into tinyseq song format
JavaScript
1
star