Scripting
Bonjour / Bonsoir,

Bienvenue sur ce forum.

Merci, de vous connectez si vous ne l'êtes pas.

Merci, de vous enregistrez si vous ne l'êtes pas. Ceci prend même pas une minute.

Cordialement,

Dylan

Rejoignez le forum, c’est rapide et facile

Scripting
Bonjour / Bonsoir,

Bienvenue sur ce forum.

Merci, de vous connectez si vous ne l'êtes pas.

Merci, de vous enregistrez si vous ne l'êtes pas. Ceci prend même pas une minute.

Cordialement,

Dylan
Scripting
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -11%
Smartphone 6.36 ” Xiaomi 14 (12 Go / 256 Go
Voir le deal
641 €

Compteur de users

Aller en bas

Compteur de users Empty Compteur de users

Message  Dylan Mer 16 Déc - 17:34

Voici un petit code qui vous permettra de savoir combien de personne seront venue sur votre salon.

# Liste des canaux où l'on doit activer le script (séparés par des espaces)
set ::compteur(chanlist) "#Salon"

# Afficher un message pour annoncer la place de l'utilisateur lorsqu'il rejoin ?
set ::compteur(send_notice) 0

# Commande pour afficher le status du compteur
set ::compteur(cmd) "!compteur"

# Fichier où sauvegarder les données
set ::compteur(file) "compteur.db"

# Intervalle en secondes pour l'anti-flood (utilisation possible de la commande
# toute le X secondes maximum)
set ::compteur(anti_flood) 30

# --------------

if ![catch "open $::compteur(file)" fileID] {
array set compteur [gets $fileID]
close $fileID
}

set ::compteur(chanlist) [string tolower $::compteur(chanlist)]
set ::compteur(chanlist) [split $::compteur(chanlist)]
set ::compteur(num_chans) [llength $::compteur(chanlist)]

bind JOIN -|- "*" compteur_newjoin
bind time -|- "*0 * * * *" compteur_savefile
bind PUB -|- $compteur(cmd) compteur_pub
bind nick -|- "*" compteur_antiflood

proc compteur_newjoin {nick uhost handle channel} {
if {[lsearch -exact $::compteur(chanlist) [string tolower $channel]] == -1} {
return
}

if ![info exists ::compteur(joined,$nick,$channel)] {
set ::compteur(joined,$nick,$channel) [unixtime]
if [set ::compteur(send_notice)] {
putquick "NOTICE $nick :Vous êtes le [compteur_users $channel] ème visiteur de ce canal !"
}
}
}

proc compteur_savefile {minute hours day month years} {
if [catch "open $::compteur(file) w+" fileID] {
putlog "Compteur: $fileID"; return
}
puts $fileID [array get ::compteur "joined,*"]
close $fileID
}

proc compteur_users {channel} {
return [llength [array names ::compteur "joined,*,$channel"]]
}

proc compteur_pub {nick uhost handle channel arg} {
if {[lsearch -exact $::compteur(chanlist) [string tolower $channel]] == -1} {
return
}

if [info exists ::compteur(flood,$nick)] {
return
}

after [expr $::compteur(anti_flood) * 1000] [list compteur_afterantiflood $nick]

set ::compteur(flood,$nick) 1
putquick "PRIVMSG $channel :Actuellement [compteur_users $channel] utilisateurs différents sont entrés sur ce salon."
}


proc compteur_antiflood {nick uhost handle channel newnick} {
if [info exists ::compteur(flood,$nick)] {
set ::compteur(flood,$newnick) 1
after [expr $::compteur(anti_flood) * 1000] [list compteur_afterantiflood $newnick]
}

}


proc compteur_afterantiflood {nick} {
array unset ::compteur flood,[set nick]
}

putlog "Compteur TCL"


Ce tutoriel a été crée par : Maxou80
Sur : http://forum.celike.fr
Pour les tutoriels que vous copiez vous devez avoir l'autorisation !
Dylan
Dylan
Administrateur

Messages : 221
Date d'inscription : 23/11/2009
Age : 29
Localisation : Chez moi ...

https://scripting.forumactif.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum