Xchat-python -- repondeur

Description

Répondeur Version 0.1

Ce script laisse un message d'absence de façon regulière sur le channel.
Tres utile pour les nouveaux arrivants du channel.

Il se desactive automatiquement des que l'utilisateur absent tape sur son clavier.
Il fonctionne sur Xchat lorsque celui-ci est installé avec le plug python.
Le script fonctionne sur le clone.
Le script doit être placé dans le repertoire de Xchat.
Pour télécharger Xchat : http://www.xchat.org

Pour l'installer taper dans la fenetre du clone : /py load repondeur.py
ou bien ajouter greffon.
Pour activer le répondeur tappez !absent
Dès que l'utilisateur est de retour et entre une phrase dans le channel, le répondeur se désactive.

Merci à Cyberdivad pour son coup de main ;)

Pour activer le répondeur tappez !absent
Dès que l'utilisateur est de retour et entre une phrase dans le channel, le répondeur se désactive.

Source / Exemple :


# -*- coding: cp1252 -*-
__module_name__ = "repondeur"
__module_version__ = "0.1"
__module_description__ = "repondeur afk"

__module_author__ = "boubou_cs@yahoo.fr"

# Les utilisateurs de ce script doivent taper !absent pour qu'un
# message automatique soit envoyé sur le canal, signalant l'afk.
#
import xchat
import time

n_absent=[]

#-------------------------------------------
# Annule le message automatique
def absence(word,word_eol,userdata):
    event, pos = userdata
    if type(pos) is int:
        pos = (pos,)
    
    if word[0] in n_absent:
        plein="ok"
    else:
        plein="non"

    
        
    if word[1]=="!absent" and plein=="non":
        xchat.command("me >>> "+word[0]+" active son repondeur.")
        n_absent.append(word[0])
        
        
    elif word[1]=="!absent" and word[0] in n_absent:
        
        xchat.command("me >>> Le repondeur est deja actif.")
        xchat.command("me >>> Tape !retour pour le desactiver.")

     # controles    
    #for i in n_absent:
        #xchat.command("me Sont inscrits : "+i)
    #xchat.command("me plein :"+plein)  
    
    return xchat.EAT_NONE

#-------------------------------------------    
def desinscrire(word,word_eol,userdata):
    event, pos = userdata
    if type(pos) is int:
        pos = (pos,)

    if word[0] in n_absent:
        ok="oui"
    else:
        ok="non"
    
        
    if word[0] in n_absent and ok=="oui":
        xchat.command("me >>> Repondeur desactive, "+word[0])
        xchat.command("me >>> "+word[0]+" est de retour.")
        n_absent.remove(word[0])
        
        
    elif word[0] in n_absent and ok=="non":
        pass

    # controles 
    #xchat.command("me ok :"+ok)

    

    return xchat.EAT_NONE

    
def temps(userdata):
    a=time.localtime () [4]
    b=range(0,60,3)# pas de trois pour les mn
    b.remove(0)# on eneleve le 1er indice de valeur 0
    if a in b:
        for i in n_absent:
            action="%s" %(i)
            xchat.command("me >>> %s n'est pas derriere son clavier." %(action))
        #if a==50:
            #texte="%s" %("hello")
            #xchat.command("me %s" %(action,texte))
    return 1
    

myhook = xchat.hook_timer(60000, temps) #repetition toutes les mn (1000=1sec)

#-------------------------------------------
# lance les fonctions
EVENTS = [("Channel Message", 1)]

for event in EVENTS:
    xchat.hook_print(event[0], absence, event)
    xchat.hook_print(event[0], desinscrire, event)

    
print "*********************"
print "Message absence charge!"

print "Script réalisé par boubou_cs@yahoo.fr - 2004"

Conclusion :


Pour changer le temps de repetition du message, chercher la ligne :
myhook = xchat.hook_timer(60000, temps) #repetition toutes les mn (1000=1sec)
et changez 60000 en sachant que 1000= 1 seconde.

Si vous utilisez ce script et qu'il vous plait, n'hésitez pas à m'envoyer un petit message ;)

Codes Sources

A voir également

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.