Bonjour, j'anime une webradio et j'ai installé un eggdrop avec un certain nombre de commandes en rapport, dernièrement j'ai voulu ajouter une fonction like qui inscrit dans un fichier txt les information liées au like suivit du n° comme ceci:
09/11/2020 21:04:49 Dj-Fou de sucrette30 - Kygo, Donna Summer - Hot Stuff n°1
09/11/2020 21:08:05 Dj-Fou de sucrette30 - 24kGoldn - Mood ft iann dior n°2
09/11/2020 21:11:29 Dj-Fou de sucrette30 - GIMS - YOLO n°3
j'arrive a le faire dans un script mirc sans aucun soucis
je voudrais le faire avec l'eggdrop et après plusieurs jours d'essais je n'arrive qu'a avoir un n° (le n° 1) en fin de ligne mais toujours le même, ci dessous le code de ma commande:
Code: proc sc::like {nick host hand chan arg} {
set fopen [open "scripts/liketest.txt" a+ ]
set fileData [read $fopen ]
set fileLines [split $fileData "\n" ]
set numlike [expr $fileLines+ 1]
variable status
variable title
variable rchan
variable achan
if {[info exists status] && !$status} return
if {$rchan!="" && [lsearch $rchan $chan]==-1} return
puts $fopen "Like de $nick $arg $title $numlike $compte "
close $fopen
putserv "NOTICE $nick :[::msgcat::mc m19 $title]"
putserv "PRIVMSG $achan :[::msgcat::mc m20 $nick $title]"
putlog [::msgcat::mc m20 $nick $arg]
}
ce que je souhaite vous l'aurais compris c'est qu'a chaque nouveau like le n° augmente de 1 et c'est là que je sèche.
Sinon le reste vas bien.
Le problème vient sûrement de ta variable $compte qui n'est initialisée nulle part et qui devrait à mon avis être $numlike .
Et j'ai un doute sur la manière dont tu remplis cette variable, tu devrais plutôt faire set numlike [expr [llength $fileLines] + 1]
Bonjour,
Pour moi il manque clairement des informations dans ta demande si tu désire une aide.
Car déjà tu fournis un "passage" de code dont j'ai aucune idée de l'ensemble, comme par exemple la commande qui fait appelle a "sc::like" et ce quelle contient ou doit contenir par exemple.
Il serais bien de nous montrer un bout du fichier "scripts/liketest.txt"
Pour moi, la variable "status" est vérifie si elle existe et si elle vaut 0 le script s'arête or, a moins que j'ai de la m**de dans les yeux; elle ne sera jamais 1 pour le bout de code donner.
la variable "rchan" débarque de nulle part non plus , du moins encore une fois avec le peu d'élément fournis.
C'est un genre de da vinci code, ou l'ont doit deviner et déchiffrer pas mal .
Merci de nous aider un minimum à t'aider ! car même ::msgcat::mc on doit deviner les messages des catalogues pour essayer de comprendre les retour attendu.
Je pense que le mieux serais de nous montrer ton équivalent en MIRC et nous fournir plus d'informations.
Quelles sont les données disponibles, ou peut on les lires, que doit on faire avec ....
Merci
Retrouvez les dernières modifications de mes scripts TCL (versions Alpha/Bêta) ainsi que d'autres de mes réalisations sur ma page GitHub et les versions stables dans la section scripts de ce site 8-)
Tout à fait c'est dans ce script que je fais cet ajout pour avoir le titre dans le fichier des likes.
(12/11/2020, 09:36)CrazyCat Wrote: Le problème vient sûrement de ta variable $compte qui n'est initialisée nulle part et qui devrait à mon avis être $numlike .
Et j'ai un doute sur la manière dont tu remplis cette variable, tu devrais plutôt faire set numlike [expr [llength $fileLines] + 1]
Merci, alors en effet $compte n'est pas initialisée c'est un oubli d'avoir lever $compte dans cette ligne après avoir fait des tests avec cette variable sans résultats.
set numlike [expr [llength $fileLines] + 1] ne donne pas plus de bon résultats.
(12/11/2020, 15:45)ZarTek Wrote: Bonjour,
Pour moi il manque clairement des informations dans ta demande si tu désire une aide.
Car déjà tu fournis un "passage" de code dont j'ai aucune idée de l'ensemble, comme par exemple la commande qui fait appelle a "sc::like" et ce quelle contient ou doit contenir par exemple.
Il serais bien de nous montrer un bout du fichier "scripts/liketest.txt"
Pour moi, la variable "status" est vérifie si elle existe et si elle vaut 0 le script s'arête or, a moins que j'ai de la m**de dans les yeux; elle ne sera jamais 1 pour le bout de code donner.
la variable "rchan" débarque de nulle part non plus , du moins encore une fois avec le peu d'élément fournis.
C'est un genre de da vinci code, ou l'ont doit deviner et déchiffrer pas mal .
Merci de nous aider un minimum à t'aider ! car même ::msgcat::mc on doit deviner les messages des catalogues pour essayer de comprendre les retour attendu.
Je pense que le mieux serais de nous montrer ton équivalent en MIRC et nous fournir plus d'informations.
Quelles sont les données disponibles, ou peut on les lires, que doit on faire avec ....
Merci Alors la variable rchan c'est le salon de la radio sur lequel les usagers tapent la commande !like.
::msgcat::mcset fr m19 "Merci d'avoir liker >> %s"
#renvois un message au demandeur du like.
::msgcat::mcset fr m20 " like de %s - %s"
#signale sur la backroom l'arrivée d'un like
-----------------------------------------------------
#extrait des 2 lignes actuelles après 2 demandes de like du fichier "scripts/liketest.txt":
Like de berni13[OqP] Ricoune - Un petit Ricard dans un verre ballon 1
Like de berni13[OqP] Ricoune - Un petit Ricard dans un verre ballon 1
------------------------------------------------------------------------------------------
le code MIRC qui me comptabilise bien chaque ligne:
Code: alias radioask3 {
$iif(!$window(@like),Window -zg0nk0 @like)
var %current_like_number = $calc($lines(like.txt) +1)
echo @like $AideAnim(Couleur2) $+ $AideAnim(Couleur1) $+ $+ $1- n° $+ %current_like_number
write like.txt $date $time $line $nick $1- n° $+ %current_like_number
}
Merci de vos réponses
(13/11/2020, 20:31)berni13 Wrote: (12/11/2020, 09:36)CrazyCat Wrote: Le problème vient sûrement de ta variable $compte qui n'est initialisée nulle part et qui devrait à mon avis être $numlike .
Et j'ai un doute sur la manière dont tu remplis cette variable, tu devrais plutôt faire set numlike [expr [llength $fileLines] + 1]
Merci, alors en effet $compte n'est pas initialisée c'est un oubli d'avoir lever $compte dans cette ligne après avoir fait des tests avec cette variable sans résultats.
set numlike [expr [llength $fileLines] + 1] ne donne pas plus de bon résultats.
(12/11/2020, 15:45)ZarTek Wrote: Bonjour,
Pour moi il manque clairement des informations dans ta demande si tu désire une aide.
Car déjà tu fournis un "passage" de code dont j'ai aucune idée de l'ensemble, comme par exemple la commande qui fait appelle a "sc::like" et ce quelle contient ou doit contenir par exemple.
Il serais bien de nous montrer un bout du fichier "scripts/liketest.txt"
Pour moi, la variable "status" est vérifie si elle existe et si elle vaut 0 le script s'arête or, a moins que j'ai de la m**de dans les yeux; elle ne sera jamais 1 pour le bout de code donner.
la variable "rchan" débarque de nulle part non plus , du moins encore une fois avec le peu d'élément fournis.
C'est un genre de da vinci code, ou l'ont doit deviner et déchiffrer pas mal .
Merci de nous aider un minimum à t'aider ! car même ::msgcat::mc on doit deviner les messages des catalogues pour essayer de comprendre les retour attendu.
Je pense que le mieux serais de nous montrer ton équivalent en MIRC et nous fournir plus d'informations.
Quelles sont les données disponibles, ou peut on les lires, que doit on faire avec ....
Merci Alors la variable rchan c'est le salon de la radio sur lequel les usagers tapent la commande !like.
::msgcat::mcset fr m19 "Merci d'avoir liker >> %s"
#renvois un message au demandeur du like.
::msgcat::mcset fr m20 " like de %s - %s"
#signale sur la backroom l'arrivée d'un like
-----------------------------------------------------
#extrait des 2 lignes actuelles après 2 demandes de like du fichier "scripts/liketest.txt":
Like de berni13[OqP] Ricoune - Un petit Ricard dans un verre ballon 1
Like de berni13[OqP] Ricoune - Un petit Ricard dans un verre ballon 1
------------------------------------------------------------------------------------------
le code MIRC qui me comptabilise bien chaque ligne:
Code: alias radioask3 {
$iif(!$window(@like),Window -zg0nk0 @like)
var %current_like_number = $calc($lines(like.txt) +1)
echo @like $AideAnim(Couleur2) $+ $AideAnim(Couleur1) $+ $+ $1- n° $+ %current_like_number
write like.txt $date $time $line $nick $1- n° $+ %current_like_number
}
Merci de vos réponses La variable status fait référence au status de la radio off = 0, on = 1 et la fonction like ne doit fonctionner que lorsque la radio est on
|