Script Python AutoGreet
Ce script envoie un message de bienvenue a toutes les personnes qui rejoignent un salon ou vous etes.
Je le presente pour information puisqu'il ne permet pas de choisir sur quels salons il sera actif, il est donc fonctionnel, mais incomplet.
Si vous l'utilisez alors que vous etes sur de nombreux salons, vous risquez de flooder involontairement (si beaucoup de personnes joignent les salons ou vous etes), voire meme de vous faire kicker de certains salon.
#Base de tout script pour xchat
#
__module_name__ = "autogreet"
__module_version__ = "1.0"
__module_description__ = "dit bonjour"
__module_author__ = "TroLL"
import xchat
# Cree un menu supplementaire qui permet d'activer ou desactiver le script
# (le script est inactif par defaut)
xchat.command('menu -p8 ADD "Scripts"')
xchat.command('menu -t0 ADD Scripts/Autogreet "ag ON" "ag OFF"')
atg = ""
# Fonction qui permet d'afficher le message de bienvenue si le script est activé
#
def abc(word, word_eol, userdata):
global atg
if atg == "ON":
xchat.command ("say salut %s(%s) bienvenue sur %s" % (word[0], word[2], word[1]))
return xchat.EAT_NONE
# Commande AG ajoutée qui permet d'activer ou de desactiver le script
#
def ag_cb(word, word_eol, userdata):
global atg
if len(word) < 2:
print "Vous devez preciser si vous l'activez ou le desactivez !"
else:
atg = word[1]
xchat.prnt("Autogreet %s" % (atg))
return xchat.EAT_NONE
# Hook pour la commande nouvellement créée et pour l'event "Join"
#
xchat.hook_command("ag", ag_cb, help="/AG ON/OFF Active ou desactive l'autogreet")
xchat.hook_print("Join", abc)
# Pratique pour vous signaler que le script a ete chargé dans xchat.
#
print "Autogreet Loaded !"
(erreur d'indentation rectifiée)

8 commentaires:
petite question stupide ...
le message de bienvenue est de la forme "bonjour **** (userid@host) bienvenue sur #chan"
est il possible de supprimer (userid@host)
sans gros intérét puisque le message de join sur le chan est machin(userid@host) has joined #chan ...
si je me fais bien comprendre ...
monsieur Raoul
Bien sur, c'est cette ligne la qui affiche la ligne en question :
xchat.command ("say salut %s(%s) bienvenue sur %s" % (word[0], word[2], word[1]))
les %s correspondent aux word[x] dans l'ordre ou ils sont mis. Il suffit donc de changer la ligne en :
xchat.command ("say salut %s, bienvenue sur %s" % (word[0], word[1]))
merci , ça fonctionne nickel
encore une question bête ...
on peut lui faire envoyer le message en notice au script ? et si oui comment ?
Comme pour la reponse precedente...
les %s correspondent aux word[x] dans l'ordre ou ils sont mis.
Si le salon est #salon et le pseudo est Machin :
xchat.command ("say %s Bienvenue sur %s" % (word[0], word[1]))
enverra en notice a Machin : Bienvenue sur #salon
Pour ajouter le pseudo une 2eme fois, suffit de remettre word[0] une seconde fois :
xchat.command ("say %s Salut %s , Bienvenue sur %s" % (word[0], word[0], word[1]))
Ca donnera l'equivalent de la commande :
/notice Machin Salut Machin , Bienvenue sur Salon
Euh, petite rectification
xchat.command ("say %s Salut %s , Bienvenue sur %s" % (word[0], word[0], word[1]))
dans cette ligne il faut bien evidemment remplacer le say par un notice
xchat.command ("notice %s Salut %s , Bienvenue sur %s" % (word[0], word[0], word[1]))
Il y à une erreur quand je le load le script
Traceback (most recent call last):
File "", line 1, in
IOError: [Errno 2] No such file or directory: 'C:\\Users\x07nthony\\Desktop\x07utobienvenue.py'
Module has no __module_name__ defined
Etrange. Il n'y aurait pas de __module_name__ defini, pourtant la 1ere ligne du script est bien :
__module_name__ = "autogreet"
Tu es sur de bien l'avoir copié en entier ?
Enfin, de toutes facons, ce script est la pour info, il est vraiment minimaliste et tu trouveras mieux sans difficulté en cherchant autogreet xchat dans google. (si tu ne l'as pas deja fait depuis le temps...).
Enregistrer un commentaire