Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

XCHAT-PYTHON -- REPONDEUR


Information sur la source

Description

Cliquez pour voir la capture en taille normale
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

  • # -*- 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"
# -*- 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 ;)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de alkove le 06/05/2005 04:45:53

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 ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

aide pour xchat svp [ par Jamu ] Salut a tous Je debute sur xchat et le python ben je connais pas,j'ai chercher des tuto sur google mais j'ai trouvé que des tuto de python en général [xchat] faire tourner des scripts python [ par khayyam ] bonsoir tout le monde je n'arrive pas à faire tourner des scripts python, même un simple hello world __module_name__ = "helloworld" __module_versio reseau local, serveur/client [ par xilure ] Bonjour,j'ai fait un petit scripte, que me permet soit d'etre un serveur ou un clien, et d'envoyer des message (chat en reseau) Mais voila, quand je s utilisation de tkMessageBox [ par cynthia06 ] Bonjour a tous,Ma question va sans doute paraitre tres bete.J'essaie d'afficher un message avec tkMessageBox.Pour cela je fais:from Tkinter import *im bot irc python problème rejoindre channel [ par Kuby ] Bonjour, voila, après avoir un petit peu fouiller sur le net, j'ai reussi a trouver / modifier ceci : Mais je n'arrive pas à rejoindre de channel... a


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,76 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.