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] COMMANDES CHR/ASC


Information sur la source

Catégorie :Scripts Classé sous : xchat, python, plugin, chr, asc Niveau : Débutant Date de création : 29/11/2007 Date de mise à jour : 30/11/2007 01:13:39 Vu : 2 728

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Bonjour à tous, voici une source en python pour le client XChat. Pour qu'elle puisse tourner proprement vous devez avoir l'extension python pour xchat bien chargée et avoir python installer sur votre machine.

Ce plugin a été coder avec Python 2.5, si vous voulez que ce plugin se charge a chaque fois que vous lancez XChat, pensez a le mettre dans le repertoire de configuration de votre XChat (Pour trouver ce dossier, qui est un dossier caché de votre ordinateur, j'ai creer un script qui en une commande vous le dit ( dispo ici http://www.ircfr.com/codes/XCHAT-REPERTOIRE-CONFIG_44866.aspx )

Je l'ai tester mais des bugs peuvent toujours exister. Alors si vous en trouvez n'hésitez pas à le dire :[

Cette commande est une réplique des identifieur $chr() et $asc() du scripting mIRC, mais pour XChat, je m'étenderai pas sur l'utiliter de ces fonctions (pas trés grandes a mon avis), mais ca peut toujours servir hein ? Et ca montre un peu comment coder pour XChat en utilisant Python :)
 

Source

  • # -*- coding: iso-8859-15 -*-
  • __module_name__ = "Chr/Asc Commande"
  • __module_version__ = "1.0"
  • __module_description__ = "Même commande que $chr() et $asc() en mIRC"
  • __module_author__ = "Xn - dev@0x586e.info"
  • import xchat
  • from decimal import *
  • from math import ceil
  • def chr_cb(word,word_eol,userdata):
  • if (str.isdigit(word[1])):
  • try:
  • Value = int(word[1])
  • if (Value > 255):
  • Value = (Value % 256)
  • xchat.prnt("Chr : %s" % chr(Value))
  • else:
  • xchat.prnt("Chr : %s" % chr(Value))
  • except ValueError:
  • xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un nombre compris entre 0 et 255")
  • else:
  • xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un nombre compris entre 0 et 255")
  • return xchat.EAT_ALL
  • def asc_cb(word,word_eol,userdata):
  • if (str.isalpha(word[1][0])):
  • try:
  • xchat.prnt("Asc : %i" % ord(word[1][0]))
  • except TypeError:
  • xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un charactere.")
  • else:
  • xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un charactere.")
  • return xchat.EAT_ALL
  • xchat.hook_command('chr',chr_cb,help=":: /chr num :: Retourne un charactere (Doit etre compris entre 0 et 255")
  • xchat.hook_command('asc',asc_cb,help=":: /asc char :: Retourne la valeure de char")
  • xchat.prnt('%s - %s' % (__module_author__,__module_name__))
# -*- coding: iso-8859-15 -*-

__module_name__ = "Chr/Asc Commande"
__module_version__ = "1.0"
__module_description__ = "Même commande que $chr() et $asc() en mIRC"
__module_author__ = "Xn - dev@0x586e.info"

import xchat
from decimal import *
from math import ceil

def chr_cb(word,word_eol,userdata):
    if (str.isdigit(word[1])):
        try:
            Value = int(word[1])
            if (Value > 255):
                Value = (Value % 256)
                xchat.prnt("Chr : %s" % chr(Value))
            else:
                xchat.prnt("Chr : %s" % chr(Value))
        except ValueError:
            xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un nombre compris entre 0 et 255") 
    else:
        xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un nombre compris entre 0 et 255")
    return xchat.EAT_ALL

def asc_cb(word,word_eol,userdata):
    if (str.isalpha(word[1][0])):
        try:
            xchat.prnt("Asc : %i" % ord(word[1][0]))
        except TypeError:
            xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un charactere.")
    else:
        xchat.prnt(":: Erreur :: Mauvaise valeur, le parametre doit etre un charactere.")
    return xchat.EAT_ALL

xchat.hook_command('chr',chr_cb,help=":: /chr num :: Retourne un charactere (Doit etre compris entre 0 et 255")
xchat.hook_command('asc',asc_cb,help=":: /asc char :: Retourne la valeure de char")

xchat.prnt('%s - %s' % (__module_author__,__module_name__))


Conclusion

Utilisation :
:: /chr <nombre>
:: /asc <char>
 

Historique

30 novembre 2007 01:11:41 :
- On peut maintenant rentrer n'importe quelle valeure avec /chr, il utilisera automatiquement le nombre correspondant du range [0..255] (Merci Wims, la bonne formule était % 256 :P) - On peut maintenant passer une chaine de characteres a /asc, le script interpretera que la premiere lettre, à la mIRC-Like
30 novembre 2007 01:13:41 :
- Petite erreur bête à Value ^^

Commentaires et avis

signaler à un administrateur
Commentaire de wims le 29/11/2007 19:07:55

Je fais pas du tout de python mais j'ai plusieur question :
-En mirc, $chr(5000) marchera, il repart de 1 a 256, ça pourrait être le cas du tient.
-Je comprend pas vraiment le code mais apparement tu utilises une fonction déja crée par xchat pour faire la même chose, je ne vois pas trop l'interet (j'ai l'impression que tu fait en mirc : "alias chr return $chr($1)" en gros)

signaler à un administrateur
Commentaire de 0x586e le 30/11/2007 01:15:16

Voila, merci Wims pour ce commentaire, la sourc est update en prenant les nombres > 255 et en fesant un modulo 256 dessus, ce qui a pour effet de prendre n'importe quel nombre.

Aussi, ce code n'utilise pas des fonctions de XCHAT mais des fonctions de PYTHON. Voila l'interet de la bête.

Xn

signaler à un administrateur
Commentaire de coucou747 le 01/12/2007 13:22:14

Wims> sous Xchat t'as pas de scripting, les mecs ils ont fait ca beaucoup plus proprement que mirc : t'as de quoi plugger des .so (DLL ou DLL si t'es sous windows) et tu codes ton .c (de facon presque identique a ce que tu vois ici, mais ecrite en C) tu le compiles, et tu le plug...

On a vu des plugins genre Interpreteur python, perl, tcl pour xchat, ce qui permet ensuite de coder d'autres plugins qui iront se pluger sur le premier plugin (ouais, ca fait plein de couches, mais c'est beaucoup plus souple), et on peut donc coder en tcl, en python, perl, un truc proche du javascript, et evidement, en C...

j'avais teste le perl pour xchat, c'est franchement moche (encore pire que le perl classique) et le tcl pour xchat c'est des evenements geres super facilement avec des On, la page (la seule page :() de doc n'est pas trop mal, alors on s'en sort plutot bien :)

python j'avais teste une fois quand je voulais ajouter du gtk, mon programme tournait seul, mais quand j'appellais gtk.main dans xchat, ca plantait, j'ai alors choisit du python/tk, ca ca tournait pas trop mal. (il me fallait des threads pour pouvoir lancer une interface sous Xchat, python semblait etre approprie pour ce genre de manipulations)

Bref, python est un bon langage, mais a mon avis, uniquement pour du plugin avance, pas pour deux simples fonctions, (j'ignore quels sont ces deux fonctions en tcl, mais a mon avis, ca doit se faire en moins de 10 lignes de moins de 20 caracteres)

signaler à un administrateur
Commentaire de PaDa le 13/12/2007 13:25:19

Coucou,

J'approuve pour Perl/Xchat, le seul que j'avais essayé lors d'une tentative pour essayer de faire de Xchat mon client principal. En plus d'être très moche, comme j'ai sûrement pû le dire par le passé ici, l'API "nouvelle" (le module "Xchat::") a été longtemps bugguée sous Windows. Je ne sais pas si c'est encore le cas, je n'ai pas testé depuis un bail, mais des méthodes essentielles comme get_context(), ou get_list() renvoyaient des trucs vides au lieu des bonnes infos.

En ce moment mon dada (pas de troll svp) c'est Ruby, je m'en sers pour des taches sysadmin basiques et pour Rails. Si vous avez une idée d'un moyen (ou d'un éventuel projet existant ?) de faire manger du ruby à Xchat, je serais très preneur..

Bonne continuation !

signaler à un administrateur
Commentaire de 0x586e le 13/12/2007 17:03:19

Pada ! C'est moi Xn ! :(

Bah je sais pas pour les bugs sur le module Xchat::, perso ca fait pas tellement longtemps que je code Python .. J'ai voulu faire des tits trucs pour xchat et les postés car je pense qu'il n'y en a pas assez, perso quand j'ai voulu le faire c'était soit :

M'aider de la doc que je pouvais trouver sur XChat + Python et faire quelque chose
Soit galerer en essayant de décrypter des codes bien plus évolués que les miens pour captcha comment ca marchait.

J'ai utiliser la doc. Et je trouvais que des petits codes d'exemples pouvait etre pratiques..

(Ca serait bien qu'on discute Pada, <3 :( )

signaler à un administrateur
Commentaire de PaDa le 13/12/2007 17:10:58

Je suis assez d'accord dans cette approche : les codes mIRC ici, il y en a a foison, mais si les gens ont des codes (même très simples) pour d'autres clients/langages, c'est bien que ça éveille des discussions, même si ce n'est pas toujours une méthode optimale, ou d'une utilité foudroyante..

(on discute quand tu veux, je passe plus rarement sur Voila en ce moment, mais n'hésite pas sinon, pada.irc@gmail.com)

signaler à un administrateur
Commentaire de 0x586e le 13/12/2007 19:09:49

C'est exactement dans cet esprit là que j'ai posté ca, pas pour remettre en cause le commentaire de COUCOU, mais j'ai posté ca a titre d'exemple de Python + XChat, entre nous que tu fasses ca en moins de 10 lignes de 20 caracteres, je m'en fou royal coucou :)

M'enfin, on est pas là pour polémiquer hein ;d

signaler à un administrateur
Commentaire de PaDa le 16/12/2007 22:12:16

J'ai trouvé la réponse à ma propre question, j'aurais dû chercher 3 minutes : http://sourceforge.net/projects/xchat-ruby
Il existe des paquets pour les grosses distribs et une DLL pour Windows, je n'ai pas encore testé, à vous de voir si ça vous intéresse !
Bonne soirée..

signaler à un administrateur
Commentaire de 0x586e le 16/12/2007 23:17:51

J'avais trouver ca environ 5 mns aprés que tu m'en ai parler, j'ai essayer de tester les scripts d'exemples sous win, ca a bien marcher, m'enfin je code pas Ruby cela dit ;x

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

[Python - Xchat] pb avec xchat.hook_timer [ par byboleymar ] bonjour, j'essay de faire un tout petit script qui permet à mon "bot", lancer sous Xchat-text, de se connecter automatiquement au server, de joindre u Crée raccourci par commande ? Besoin de votre avis [ par dj328i ] Bonjour,bonsoir chèr membre codes-sources :) Rare que je vais poser mes pattes sur ce forum pour posé une question et non pour répondre a une mais ce Xchat-> ecriture en couleur auto. [ par voxxx ] Bonjour, Je voulais savoir si il existe un plug in ou un moyen pour ecrire en couleur automatiquement sous Xchat. Parce que le clik droit et ctrl-K e code xchat %H<%Hpseudo%H>%H [ par z_cran ] bonjour,voil&#224; lors de ma conversation sur Xchat 2.6.0, je me retrouve avec ce code%H&lt;%Hz-cran%H&gt;%Hc'est le m&#234;me principe de code avec flood horizontal [ par fbs76 ] Bonjour j'ai vu une source de flood horizontal en alias qui avait l'air très simple a utilisé ( d'après son auteur ). alias isfloodChr { var %n $ii add_handler - Script Perl pour Xchat [ par advi ] Bonjour à tous,j'ai créé un script Perl pour Xchat. Il fonctionne parfaitement, j'ai juste un probleme.Je suis capable de déclencher mon script sur de Gras dans un fichier .ini [ par Azerty10100 ] Bonjour a tous :o) Je voudrais faire une genre d'infoline ( Comme IriX ^^ ) j ai deja commencé mais a un moment il y a un HIKon *:text:moninfo *:?:{  regsubex powaaaa :) [ par TropNul ] je ne sais pas si vous vous rappelez d'une discussion ici même,au sujet d'un alias mettant en gras un caractère sur deux dans unechaîne de caractère f bug chelou... :s [ par demm0tte ] bonjour a tous...mon probleme est assez bizare :pour mon évènement on text j'ai un premier scrip pour mass voice (osef) if ($chr(36)massv isin $1-) Aide pour petit script pour IRC (débutant + python) [ par SteFoy ] Bonjour!  J'explique la situation en premier lieu. Il y a un jeu qui s'appelle "!bombe". C'est une bombe qui s'allume en tappant "!allume" et on peut


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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,343 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é.