un petit add-on pour enregistrer les records d'users sur vos salons IRC.
j'ai fait une petite recherche et j'en trouvé que 2 sur le site, donc bon
j'ai essayé d'en faire un en prenant en compte les critiques deja existante.
http://www.ircfr.com/code.aspx?ID=22143 <-- juki_webmaster
http://www.ircfr.com/code.aspx?ID=29620 <-- greg13127
Source / Exemple :
ON 1:LOAD:World_mIRC.PuB
ON 1:UNLOAD:World_mIRC.PuB
menu menubar,channel {
-
<@> Record User <@>:/dialog -m Record_table Record_table
-
}
dialog Record_table {
title "<@> Système de record <@>"
size -1 -1 185 170
option dbu
box "Ajouter salon", 1, 5 5 175 35
text "Veuillez préciser le nom de salon à surveiller (sans oublier le #)", 2, 10 15 165 8
edit "", 3, 10 25 60 10
combo 4, 115 25 60 80, size drop
button "Valider", 5, 75 25 35 10, flat
box "Liste des Salons sous surveillance", 6, 5 45 175 105
text "", 7, 10 55 80 8, center
list 8, 10 65 80 40, sort size vsbar
button "Supprimer le salon", 9, 10 110 80 12, flat
radio "Actif", 10, 108 53 30 8, group
radio "Inactif", 11, 140 53 30 8
text "Actuellement", 12, 100 64 40 8
edit "", 13, 140 63 35 10, read center
text "Record Users", 14, 100 75 40 8
edit "", 15, 140 74 35 10, read center
text "Record Date", 16, 100 86 40 8
edit "", 17, 140 85 35 10, read center
text "Record Heure", 18, 100 97 40 8
edit "", 19, 140 96 35 10, read center
button "RAZ", 20, 100 110 75 12, flat
check "Désactiver les annonces des nouveaux record on-line", 21, 10 125 165 10
check "Désactiver les commandes !record - !nombre - !count", 22, 10 135 165 10
button "Fermer", 23, 5 155 175 12, default flat ok
}
on *:dialog:Record_table:*:*:{
if ($devent == sclick) {
if ($did == 5) {
if (($did(Record_table,3).text) && ((!$did(4).seltext) || ($did(4).seltext == Autre Salon ...))) {
if ($left($did(Record_table,3).text,1) != $chr(0035)) { if ($input(Vous devez mettre un $chr(0035) devant le nom du salon (case de gauche),308,Warning)) { halt } }
else { var %ac = $did(Record_table,3).text }
}
elseif ((!$did(Record_table,3).text) && ($did(4).seltext) && ($did(4).seltext != Autre Salon ...)) { var %ac = $did(4).seltext }
else { if ($input(Pour enregistrer un salon vous devez soit taper son nom (avec le $chr(0035) $+ ) dans la case de gauche - ou alors - le choisir parmi ceux de la liste de droite (mais pas les 2),308,Warning)) { halt } }
if (!$istok($readini(Record.ini,CHANNEL,Liste),%ac,32)) {
if ($me ison %ac) {
writeini -n Record.ini CHANNEL Liste $readini(Record.ini,CHANNEL,Liste) %ac
writeini -n Record.ini %ac Etat ON
writeini -n Record.ini %ac RecordUser $nick(%ac,0)
writeini -n Record.ini %ac RecordDate $date
writeini -n Record.ini %ac RecordHeure $time
writeini -n Record.ini %ac Annonce ON
writeini -n Record.ini %ac Commande ON
did -u Record_table 10,11 | did -r Record_table 13,15,17,19 | chan.load
var %ru = $readini Record.ini %ac RecordUser, %rd = $readini Record.ini %ac RecordDate, %rh = $readini Record.ini %ac RecordHeure
echo -a 7[RECORD] 4» 2Record actuel sur6 %ac :4 %ru Users2 le [12 $+ %rd $+ ]2 à [10 $+ %rh $+ ]
}
else {
writeini -n Record.ini CHANNEL Liste $readini(Record.ini,CHANNEL,Liste) %ac
writeini -n Record.ini %ac Etat ON
writeini -n Record.ini %ac RecordUser 0
writeini -n Record.ini %ac RecordDate 00/00/0000
writeini -n Record.ini %ac RecordHeure 00:00:00
writeini -n Record.ini %ac Annonce ON
writeini -n Record.ini %ac Commande ON
did -u Record_table 10,11 | did -r Record_table 13,15,17,19 | chan.load
}
}
else { if ($input(Le salon %ac est déjà enregistré dans la liste,308,Warning)) { halt } }
}
if ($did(8).seltext) {
did -e Record_table 9,10,11,20,21,22
if ($readini(Record.ini,$did(8).seltext,Etat) == ON) { did -c Record_table 10 | did -u Record_table 11 } | else { did -c Record_table 11 | did -u Record_table 10 }
if ($me ison $did(8).seltext) { did -o Record_table 13 1 $nick($did(8).seltext,0) } | else { did -o Record_table 13 1 ... }
did -o Record_table 15 1 $readini(Record.ini,$did(8).seltext,RecordUser)
did -o Record_table 17 1 $readini(Record.ini,$did(8).seltext,RecordDate)
did -o Record_table 19 1 $readini(Record.ini,$did(8).seltext,RecordHeure)
if ($readini(Record.ini,$did(8).seltext,Annonce) == ON) { did -u Record_table 21 } | else { did -c Record_table 21 }
if ($readini(Record.ini,$did(8).seltext,Commande) == ON) { did -u Record_table 22 } | else { did -c Record_table 22 }
}
if ($did == 9) {
remini Record.ini $did(8).seltext
var %lc = $readini Record.ini CHANNEL Liste, %lc2 = $deltok(%lc,$findtok(%lc,$did(8).seltext,1,32),32)
if (%lc2) { writeini -n Record.ini CHANNEL Liste %lc2 } | else { remini Record.ini CHANNEL }
did -d Record_table 8 $did(8).sel | did -u Record_table 10,11,21,22 | did -r Record_table 13,15,17,19 | did -b Record_table 9,10,11,20,21,22
did -o Record_table 7 1 Nombre total de Chan :: $did(8).lines
}
if ($did == 10) { writeini -n Record.ini $did(8).seltext Etat ON | did -c Record_table 10 | did -u Record_table 11 | set %Record.Chan $did(8).seltext | .record.view }
if ($did == 11) { writeini -n Record.ini $did(8).seltext Etat OFF | did -c Record_table 11 | did -u Record_table 10 }
if ($did == 20) {
writeini -n Record.ini $did(8).seltext RecordUser 0
writeini -n Record.ini $did(8).seltext RecordDate 00/00/0000
writeini -n Record.ini $did(8).seltext RecordHeure 00:00:00
did -o Record_table 15 1 $readini(Record.ini,$did(8).seltext,RecordUser)
did -o Record_table 17 1 $readini(Record.ini,$did(8).seltext,RecordDate)
did -o Record_table 19 1 $readini(Record.ini,$did(8).seltext,RecordHeure)
}
if ($did == 21) {
if ($readini(Record.ini,$did(8).seltext,Annonce) == ON) { writeini -n Record.ini $did(8).seltext Annonce OFF | did -c Record_table 21 }
else { writeini -n Record.ini $did(8).seltext Annonce ON | did -u Record_table 21 }
}
if ($did == 22) {
if ($readini(Record.ini,$did(8).seltext,Commande) == ON) { writeini -n Record.ini $did(8).seltext Commande OFF | did -c Record_table 22 }
else { writeini -n Record.ini $did(8).seltext Commande ON | did -u Record_table 22 }
}
}
if ($devent == init) { if ($did == 0) { did -b Record_table 9,10,11,20,21,22 | chan.load | chan.liste } }
}
ON *:JOIN:*:{
if (($istok($readini(Record.ini,CHANNEL,Liste),$chan,32)) && ($readini(Record.ini,$chan,Etat) == ON)) {
if ($nick == $me) { set %Record.Chan $chan | /timer1 1 3 .record.view }
else {
if ($nick($chan,0) > $readini(Record.ini,$chan,RecordUser)) {
writeini -n Record.ini $chan RecordUser $nick($chan,0)
writeini -n Record.ini $chan RecordDate $date
writeini -n Record.ini $chan RecordHeure $time
if ($dialog(Record_table)) {
did -o Record_table 15 1 $readini(Record.ini,$did(8).seltext,RecordUser)
did -o Record_table 17 1 $readini(Record.ini,$did(8).seltext,RecordDate)
did -o Record_table 19 1 $readini(Record.ini,$did(8).seltext,RecordHeure)
}
if ($readini(Record.ini,$chan,Annonce) == ON) {
var %ru = $readini Record.ini $chan RecordUser, %rd = $readini Record.ini $chan RecordDate, %rh = $readini Record.ini $chan RecordHeure
msg $chan 7[RECORD] 4» 2Nouveau record sur6 $chan 2avec4 %ru Users2, le [12 $+ %rd $+ ]2 à [10 $+ %rh $+ ]
}
}
}
}
}
ON *:TEXT:*:*:{
if (($istok($readini(Record.ini,CHANNEL,Liste),$chan,32)) && ($readini(Record.ini,$chan,Commande) == ON)) {
if ($1 == !record) {
var %ru = $readini Record.ini $chan RecordUser, %rd = $readini Record.ini $chan RecordDate, %rh = $readini Record.ini $chan RecordHeure
msg $chan 2le record d'audiance sur6 $chan 2est de4 %ru Users2 depuis le [12 $+ %rd $+ ]2 à [10 $+ %rh $+ ]
}
if ($1 == !nombre) { msg $chan 2il y a actuellement4 $nick(#,0) Users2 sur le salon }
if ($1 == !count) { msg $chan 2je surveille actuellement4 $gettok($readini(Record.ini,CHANNEL,Liste),0,32) chan(s) }
}
}
alias -l chan.load {
var %n = 1, %l = 0, %c = $gettok($readini(Record.ini,CHANNEL,Liste),1,32)
while (%c) { inc %l 1 | did -o Record_table 8 %l %c | inc %n 1 | var %c = $gettok($readini(Record.ini,CHANNEL,Liste),%n,32) }
did -o Record_table 7 1 Nombre total de Chan :: $did(8).lines | return
}
alias -l chan.liste {
var %l = 1, %c = $chan(%l) | did -o Record_table 4 1 Autre Salon ...
while (%c) { inc %l 1 | did -o Record_table 4 %l %c | var %c = $chan(%l) }
return
}
alias -l record.view {
if ($nick(%Record.Chan,0) > $readini(Record.ini,%Record.Chan,RecordUser)) {
writeini -n Record.ini %Record.Chan RecordUser $nick(%Record.Chan,0)
writeini -n Record.ini %Record.Chan RecordDate $date
writeini -n Record.ini %Record.Chan RecordHeure $time
did -o Record_table 15 1 $readini(Record.ini,$did(8).seltext,RecordUser)
did -o Record_table 17 1 $readini(Record.ini,$did(8).seltext,RecordDate)
did -o Record_table 19 1 $readini(Record.ini,$did(8).seltext,RecordHeure)
if ($readini(Record.ini,%Record.Chan,Annonce) == ON) {
var %ru = $readini Record.ini %Record.Chan RecordUser, %rd = $readini Record.ini %Record.Chan RecordDate, %rh = $readini Record.ini %Record.Chan RecordHeure
msg %Record.Chan 7[RECORD] 4» 2Nouveau record d'audiance sur6 %Record.Chan avec4 %ru Users2, le [12 $+ %rd $+ ]2 à [10 $+ %rh $+ ]
}
unset %Record.Chan
}
}
alias -l World_mIRC.PuB {
echo -a 12(¯`'·.(¯`'·. _______________ .·'¯).·'¯)
echo -a 4» 3Add-on Record User pour IRC 12- © - By Folken
echo -a 4» 7Auteur 3:: Folken
echo -a 4» 10Site 3:: http://www.pub-line.com/world.mirc/
echo -a 12 (_.·'(_.·' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ `'·._)`'·._)
}
Conclusion :
Je sais : j'ai bidouillé a fond les radio et check.
-> mais sinon fallait clicker dessus 2 fois pour que sa affiche vraiment le resultat.
Toutes les infos sont stockées dans un fichier .ini --> aucune variable encombrante !
walaaa, a vous de juger :)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.