Xchat-python -- repondeur

Soyez le premier à donner votre avis sur cette source.

Vue 7 821 fois - Téléchargée 230 fois

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

Ajouter un commentaire

Commentaire

alkove
Messages postés
37
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
6 mai 2005
-
Je reconnais le style de cette source, c'est un peu la meme que l'exemple donné sur https://moin.conectiva.com.br/XchatPython utf8decoder.
c'est pas un mal d'adapter, mais il y avait une meilleur facon de le faire

EVENTS = [("Channel Message", 1)]

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

devrait devenir

EVENTS = [absence,desinscrire]

for event in EVENTS:
xchat.hook_print("Channel Message",event)

et du coup

event, pos = userdata
if type(pos) is int:
pos = (pos,)

supprimé, il n'y a plus besoin

voilà, mais ca reste une bonne source, et original ;)

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.