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)