a0da29bfb7f40fd59a07ec208ad413e8934c3d67
Services/interface-irc-telegram.md
... | ... | @@ -0,0 +1,57 @@ |
1 | +# Service mis en place |
|
2 | + |
|
3 | +## Motivation |
|
4 | + |
|
5 | +Depuis longtemps Telegram s'est imposé comme outil de communication officieux, bien que l'officiel restant IRC. |
|
6 | + |
|
7 | +Histoire de pouvoir faire discuter tout le monde ensemble, après avoir testé et abandonné Matrix, on a décidé à la réunion technique du 21 juillet de mettre en place en bridge entre les deux. |
|
8 | + |
|
9 | + |
|
10 | +## Fonctionnalités |
|
11 | + |
|
12 | +Chaque message sur Télégram est écrit sur irc par le bot 'egdirbBot' sous la forme "<pseudoTg> message". Si l'utilisateur n'a pas définit de pseudo sur Télégram, ça sera sous la forme "<Prénom Nom> message". |
|
13 | + |
|
14 | +Chaque message sur irc est écrit sur Télégram par le bot sous la forme "<pseudoIRC> message". |
|
15 | + |
|
16 | +Si un utilisateur Télégram envoie un document, une photo, une musique, etc..., le bot va hoster le fichier sur un serveur web (auto hébergé) et envoyer un lien de téléchargement sur irc. |
|
17 | + |
|
18 | +Si un utilisateur Télégram répond à un message ou forwarde un message, le bot va afficher sur irc l'utilisateur du message initial (y compris s'il s'agit d'un message provenant d'IRC) puis la réponse ou le message forwardé. |
|
19 | + |
|
20 | +Le bot n'envoit pas sur Télégram les annonces de join et quit d'IRC pour éviter le flood. |
|
21 | + |
|
22 | +Sur Télégram il y a quelques commandes pour le bot : |
|
23 | + - `/names` : affiche la liste des utilisateurs connectés à IRC |
|
24 | + - `/topic` : affiche le topic du canal irc |
|
25 | + - `/me` : simule la commande /me d'IRC et envoie un message sans le pseudo |
|
26 | + - `/command` : permet d'envoyer une commande sur IRC via le bot, pour un autre bot sur irc par exemple. En fait ça affiche le message sans le pseudo de la personne qui l'a envoyé pratique pour commander un eggdrop depuis telegram par exemple. |
|
27 | + |
|
28 | + |
|
29 | +# Configuration & Implémentation |
|
30 | + |
|
31 | +## Bridge sur neko |
|
32 | + |
|
33 | +Le bot est un fork du projet teleirc (https://github.com/FruitieX/teleirc) un peu modifié. |
|
34 | + |
|
35 | +Le code est sur la vm [neko](Machines/Neko), avec un utilisateur "teleirc", cloné dans le dossier `/srv/teleirc/git`. |
|
36 | +La config du service est dans /srv/teleirc/config.js |
|
37 | +Cf /srv/teleirc/README.md pour plus d'infos techniques. |
|
38 | + |
|
39 | +Il y a un script d'init (/etc/init.d/teleirc), on peut lancer et arrêter le service via "service teleirc (start|stop)" |
|
40 | + |
|
41 | +Les logs sont dispos dans /var/log/teleirc.log |
|
42 | + |
|
43 | +Le service permet de transférer les fichiers de Telegram vers IRC, pour ça il met en place en serveur web pour télécharger les fichier en http. |
|
44 | +Le service écoute sur neko : neko.adm-pub.resel.fr:9090 |
|
45 | + |
|
46 | +## Reverse proxy sur cyric |
|
47 | + |
|
48 | +Dans la conf d'Apache sur cyric, conf du reverse proxy dans `/etc/apache2/sites-available/proxys/teleirc-data.resel.fr` |
|
49 | + |
|
50 | +- Vhost `https://teleirc-data.resel.fr` vers `neko.adm-pub.resel.fr` port 9090 en https |
|
51 | +- Vhost http qui rewrite vers le https. |
|
52 | + |
|
53 | +## Entrées dans le DNS sur saymyname |
|
54 | + |
|
55 | +Dans la vue Brest et internet (/etc/bind/master/view/internet/zone.resel.fr et /etc/bind/master/view/Brest/zone.resel.fr) j'ai rajouté une ligne pour |
|
56 | +teleirc-data.resel.fr avec un CNAME vers cyric. |
|
57 | +J'ia màj le serial et restart le DNS (service bind9 restart et rdnc reload) |