[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   Avertir
#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   Avertir
#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 Sad, 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   Avertir
#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   Avertir
#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


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  revenir sur sujet fermé (compteur de kick) Yakka 5 3,313 26/09/2014, 08:49
Dernier message: CrazyCat
  Compteur join Yakka 9 3,263 21/09/2014, 15:51
Dernier message: Yakka
  Lister les utilisateurs en tcl Dani 4 2,981 06/04/2012, 20:15
Dernier message: aliasangelius
  Compteur de mots heretoc 9 6,039 18/10/2011, 22:51
Dernier message: djkenny
  Lister des utilisateurs sur un réseau IRC. ArKeNiS 5 3,367 26/07/2011, 17:43
Dernier message: djkenny

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)