[Demande] API JSON compteur utilisateurs
#1
Salut j'ai un eggdrop sur un chan

Nous avons un site avec un lien vers kiwiirc qui pointe sur notre chan.
On aimerait mettre le nombre d'utilisateurs connectés à côté du lien.

Le top ce serait de pouvoir exposer une API JSON via l'eggdrop qu'on pourrait requêter depuis le site.

Avez vous des idées ou d'autres pistes? Merci
Répondre Avertir
#2
La librairie standard Tcl (tcllib) fournit les packages json et json_write.
Répondre Avertir
#3
OK bon JSON est pas la priorité mais en fouillant j'ai vu une lib tcl httpd. Je peux démarrer un serveur web dans un eggdrop?

Sinon je lance un serveur python à côté...

J'essaye de trouver des example s d'utilisation mais je trouve pas grand chose.
Répondre Avertir
#4
Où est hébergé ton eggdrop ? Sur la même machine que là où est ton site ? Sur un autre serveur ? Sur un PC personnel ? De cela peut dépendre le choix d'une solution.
Si ton eggdrop est sur le même serveur que ton site, il suffit de créer le fichier .json dans un répertoire accessible par le web.
Si ton eggdrop est sur un autre serveur qui n'a pas de service httpd, je te conseille d'installer quelque chose comme lighthttpd plutôt que de charger l'eggdrop avec un httpd.

Une autre option possible, c'est de fonctionner à l'envers: l'eggdrop envoie les infos à ton site chaque fois qu'il y a une entrée/sortie, via une requête http (ce qui nécessite que ton site ait une page pour recevoir les infos).
Répondre
#5
Yep l'eggdrop est sur le serveur. C'est un orangepi, je voulais éviter d'écrire sur la carte sd avec un fichier mais plutôt que de monter un serveur http avec une pauvre variable en mémoire je vais voir si je peux pas monter le répertoire www en mémoire et pas sur disque.

Bon je fouille les docs du site, faut juste réussir à faire un /names vers un fichier
Répondre Avertir
#6
Le site est sur un orangepi ? Donc ta carte mémoire doit être souvent écrite, ne serait-ce qu'avec les logs.
Et pour ne pas trop t'embêter: monte le répertoire /tmp/ en mémoire (si ce n'est pas déjà fait) et c'est là que l'eggdrop doit créer son fichier. Côté www, tu fais un ln -s vers /tmp/tonfichier.
Au pire, suite à un reboot, le fichier est absent le temps que ton eggdrop le régénère.
Répondre
#7
Pour l'écriture sur carte sd j'utilise armbian qui monte déjà les log et le /tmp en RAM
https://docs.armbian.com/#what-is-armbian

Pas bête le ln -s ça m'evitera de monter un autre rep en mémoire

Thx
Répondre Avertir
#8
Je regardais la doc mais je ne vois pas de fonction tcl qui retourne les utilisateurs, je ne vois comme solution que de faire un putserv #channel /names et de lire le retour dans le chan :(, il n'y a pas plus simple
Répondre Avertir
#9
Tu peux faire chanlist #channel qui te remonte la liste des utilisateurs connectés sur le canal. Ou llength [chanlist #channel] pour juste avoir le nombre.
Répondre
#10
Ton Eggdrop possède deux jeux d'instructions :
1- les commandes Tcl
2- les commandes Eggdrop.

Ces dernières sont documentées ici : https://docs.eggheads.org/mainDocs/tcl-commands.html
Répondre Avertir
#11
et aussi sur https://wiki.eggdrop.fr/Tcl-commands
Répondre
#12
Super ça fonctionne j'ai du mettre une option sur mon serveur pour suivre les lien symboliques, au début il voulait pas.

Me reste à faire un timer sur la fonction.

Merci
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté