Un client IRC scriptable en .net

Si oui, que ca vous interresse, précisez ce que vous faites avec les scripts de votre client actuel, et puis tant que vous y etes, les features que fait ou ne font pas votre client actuel, que vous pensez qu’elles tuent tout, ou qu’elles sont indispensables, ou ce que vous aimeriez pouvoir scripter par la suite.

Le but est que je me plante pas trop dans le design du modele de script (ca sera très orienté "objet’, certainement), que je sache quels objets et quels evenements je vous expose ou pas, tout ca…

Tant qu’a faire, vous pouvez aussi mettre ce qui vous plait pas dans les autres clients …

Un clone de mIRC ou HydraIrc ou n’importe de complet avec un interface modulaire pour lui mettre un coup d’avalon dans la tete quand ca sera possible :stuck_out_tongue:

J’y travaille actuelement sous GluonIRC, dont j’avais parlé dans un autre post (bafo pouvait plus blerer son mirc, quel genie). Avec des scripts en VB.net et en C#, voire en Python si Iron Python se montre toujours aussi pratique a utiliser.

Apres tout, on a eu la meme idée.

Je reposte l’url de l’engin, au mieux de sa forme, toujours codé en C# et qui sera open source quand j’aurais un peu plus avancé. :P"

http://moonphad.free.fr/gluon/

#GluonIRC sur freenode pendant que j’y suis.

:stuck_out_tongue:

Oui, si ça peut tourner sous Linux :P.

Une jolie interface, et le support de l’UTF-8 :stuck_out_tongue: C’est tout ce que je veux. Sinon pour les plug-ins… sur Hydra je me contente amplement du OnLoggedIn

Le truc, c’est qu j’ai pas du tout l’intention de faire un clone de …
Bon, ok, ca ressembleras vaguement a Hydra, tabs et docks oblige, mais y’a pas mal de trucs dans hydra qui ne me plaisent pas du tout.

Le_k > je suis déja tombé sur ton client… mais t’avance pas assez vite :stuck_out_tongue: … et puis tel que t’es parti (oui, je me suis fait un coup de reflector dessus), je sais pas trop si la lib que t’as utilisé va te permettre de faire du plugin qui va bien… enfin, un machin qui sera pratique.

LeBaronNoir > si tu connais GTK#, pourquoi pas faire l’interface ? A priori, ca sera assez facile si tu maitrise cette interface. Sinon, ca touneras sans doute avec Wine pour emuler les winforms (enfin, si t’as réussi a faire tourner les winforms avec Mono, chose sur laquelle j’ai vite laissé tomber).

Kineox > l’UTF8 sur IRC est une hérésie, le protocole sous jacent est completement ASCII, et UTF8 est pas compatible du tout avec les codes couleurs d’IRC… mais je vais voir ce qui est possible. Mais faudrait pour ca que je sache comment c’est implémenté dessous. Au passage, comment tu peux te contenter d’hydra ? Et le script d’away, et les auto ops ? Les messages a la con ?

Au passage, je ne développes pas juste un client IRC, je développes la lib qui viens en dessous. Donc futurs développeurs de bots, faites vous connaitre…

Ha, ok, donc tu fais comme xine en fait.

J’ai voté oui, même si j’utilise pas vraiment de script sous irc, mais je plussoie tout ce qui est en .net, tellement j’adore cette techno :stuck_out_tongue:

Je me permet de poster l’image que tu as collé dans PdG:

Le client de Tzim qu’il est top

Beau travail et bon courage pour la suite :stuck_out_tongue:

[quote name=‘LeBaronNoir’ date=’ 2 Apr 2005, 11:19’]Ha, ok, donc tu fais comme xine en fait.
[right][post=“346486”]<{POST_SNAPBACK}>[/post][/right][/quote]
Gné ??

Bon, sinon, j’attends toujours vos features requests… vu que ca peux pas mal influer sur le design de l’API qui va y’avoir en dessous. (Je précise : je refais la pile IRC moi même, les seuls libs non-standard que j’utilise étant pour l’UI).

[quote name=‹ Bassah0lic › date=’ 2 Apr 2005, 11:24’]J’ai voté oui, même si j’utilise pas vraiment de script sous irc, mais je plussoie tout ce qui est en .net, tellement j’adore cette techno  :stuck_out_tongue:

Je me permet de poster l’image que tu as collé dans PdG:

Le client de Tzim qu’il est top

Beau travail et bon courage pour la suite :stuck_out_tongue:
[right][post=« 346488 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Ahem, ya une fenêtre ouverte sur #bt-gm^^

Sinon je plussoie fortement, parce qu’il a l’air bien chouette ton client, et que mon mIRC+NNS me fait des misères à intervalles réguliers.

[quote name=‘GiomBee’ date=’ 2 Apr 2005, 14:05’]Sinon je plussoie fortement,  parce qu’il a l’air bien chouette ton client, et que mon mIRC+NNS me fait des misères à intervalles réguliers.
[right][post=“346525”]<{POST_SNAPBACK}>[/post][/right][/quote]

Bah, c’est surtout le fait que mIRC + NNS, ou mIRC + PnP, ca marche pas du tout sous WinXP 64…

C’est une super bonne idée qu’elle est excellente et meme qu’on en parlait avec Glop y’a pas deux jours entre deux bashages de linux (c’est un sport qu’on partage en ce moment).

J’ai bien des tas d’idées de features a implémenter mais je ne suis pas sur que ce soit le bon moment vu que t’en est encore au début. Pense bien aux moments clefs qui serviront soit pour la configuration, soit pour les scripts. Tout va tourner autour de la manipulation des entrées sorties, donc faut bien penser à des choses du genre :

  • comment tu va gérer les highlights
  • manipuler les output selon des règles précises
    etc…

Vu que t’es parti en objet le multi serveur te posera pas de soucis. Pour les features on en reparlera.

C’est vrai j’avance pas super vite, et le plus drole c’est que j’ai laché HydraIRC justement car je trouvais le dev trop statique.

La lib irc que j’utilise, perso je la trouve merveilleuse, ptet un peu aussi car je participe au dev. Pour les plugin qui vont bien, si, la lib le permet sans aucun probleme du fait de sa souplesse, les plugins je connais, mon bot irc gere deja tout ça. Du coup je sais parfaitement les trucs a faire et les trucs a ne pas faire.

Pour l’instant je m’axe sur la partie IRC du client, tout bien faire, l’interface, le code. Je suis au tout debut du dev de Gluon (0.1), des que j’ai fini l’IRC, je passe au DCC, puis apres je ferai les plugins et donc le scripting. Je passerai surement le bébé en open source des que le DCC sera fini.

Voila en gros ma roadmap. :stuck_out_tongue:

Bon, j’ai voté oui. (ça, c’est fait).

J’utilise actuellement HydraIRC avec juste les scripts OnStartUp et OnLoggedIn (pour se connecter à un serveur au démarrage et pour joindre mes channels habituels).

Pour ne pas oublier, je mets déjà les machins qui me sont utiles ou que j’aimerais trouver dans un client IRC (je risque d’éditer si jamais je me rappelle d’autres trucs) :

  • l’URL Catcher pour avoir la liste des URLs (sans déc’) apparus sur le chan avec le nick de celui qui l’a posté
  • l’Event Log (bon là, je pousse pas le vice jusqu’à expliquer à quoi ça sert)
  • pouvoir ranger les fenêtres de chan en cascade (Tile horizontaly ou verticaly dans HydraIRC)
  • pouvoir être highlighté sur son nick sans devoir configurer (genre pas comme Hydra)

Et voilà, c’est tout :stuck_out_tongue:

Par contre, je viens d’y penser, quelle est ton optique concernant le public auquel s’adresserait ton client IRC ? Elite avec une configuration totale en scripts ou grand public avec un max de fonctions accessibles sans scripts mais avec la possibilité d’y foutre des scripts ?

Si jamais t’as besoin de personnes pour crashtester ton client, y a pas de soucis pour moi.

A qui repond tu ?

Si c’est pour moi, Gluon a le meme systeme que HydraIRC, les fameux Command-Profiles, le seul truc c’est que pour l’instant, Gluon se config a mano, va faire un tour dans Gluon.Config.xml, et Gluon Command Profiles.txt, tout y est expliqué.

L’URL catcher, pareil il gere, ma version de dev gere aussi une autre fonctionnalité, les URL ou tu n’a pas encore cliqué (sur une fenetre ou dans le catcher meme) apparaissent d’une couleur differente dans le catcher. Je mettrai a jour dans la soirée.

Les highlights vont venir en meme temps que le event log, et je mettrai dans la config par defaut une highlight pour “$me” un peu comme dans Klient.

[quote name=‘Tzim’ date=’ 2 Apr 2005, 14:13’]Gné ??

Bon, sinon, j’attends toujours vos features requests… vu que ca peux pas mal influer sur le design de l’API qui va y’avoir en dessous. (Je précise : je refais la pile IRC moi même, les seuls libs non-standard que j’utilise étant pour l’UI).
[right][post=“346511”]<{POST_SNAPBACK}>[/post][/right][/quote]

Quel inculte :P. C’est un programme multimédia sous Linux qui lit pas mal de trucs. Eux, ils font la librairie (libxine) qui gère un peu tout ce qui touche au multimédia : listes de lecture, lecture de DVD, VCD, un peu tout ce qui bouge en matière de vidéo et de sons, plugins d’entrée et sortie vidéo et audio. Evidemment, on peut rajouter quelques codecs pour compléter au besoin. Ils font aussi une interface pas trop mal (xine ui), mais n’importe qui en ayant les compétences peut faire la sienne. Du coup, on en trouve en gtk, en Qt,… Il y en a un bon paquet et il y en a pour tous les gouts.
Vu ce que tu m’avais dit pour une éventuelle version Linux et un peu ailleurs, c’était donc l’impression que j’en avais retiré.

A la base, je répondais à Tzim, mais ton client m’a aussi quelque peu attiré :stuck_out_tongue:

Par contre, la chose qui me plait pas :

Si y a bien quelque chose que j’aime pas, c’est passer 3 plombes à configurer un soft (oui, j’utilise HydraIRC ; oui, ça m’a bien fait chier et non, j’ai pas envie de tout recommencer).
Tout ce qui ressemble de près ou de loin à une ligne de code ou de script (je ne sais pas s’il y a une nuance entre les deux) me file des boutons.

Après, si GluonIRC ou le client de Tzim ou les deux permettront dans des versions plus avancées de (presque) tout configurer à l’aide de boîtes de dialogue, je dis BANCO :stuck_out_tongue:

EDIT : Les messages de Quit avec plein de pub c’est bien, mais c’est mieux si c’est désactivable :stuck_out_tongue:

[quote name=‹ JosS › date=’ 2 Apr 2005, 17:07’]EDIT : Les messages de Quit avec plein de pub c’est bien, mais c’est mieux si c’est désactivable :stuck_out_tongue:
[right][post=« 346556 »]<{POST_SNAPBACK}>[/post][/right][/quote]

C’est pour ça que tu peux les changer dans gluon, mettre les tiens, et en mettre autant que tu veux. La pub forcée j’aime pas tro, alors je laisse le choix :stuck_out_tongue:

<Section Name="Quit Messages">

Il suffit que tu les numerote a partir de 0.

[quote name=‹ C_Wizard › date=’ 2 Apr 2005, 14:34’]C’est une super bonne idée qu’elle est excellente et meme qu’on en parlait avec Glop y’a pas deux jours entre deux bashages de linux (c’est un sport qu’on partage en ce moment).

J’ai bien des tas d’idées de features a implémenter mais je ne suis pas sur que ce soit le bon moment vu que t’en est encore au début. Pense bien aux moments clefs qui serviront soit pour la configuration, soit pour les scripts. Tout va tourner autour de la manipulation des entrées sorties, donc faut bien penser à des choses du genre :

  • comment tu va gérer les highlights
  • manipuler les output selon des règles précises
    etc…

Vu que t’es parti en objet le multi serveur te posera pas de soucis. Pour les features on en reparlera.
[right][post=« 346532 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Ouais, nan, faut te lacher sur les features, au contraire, j’en suis a un point ou ce que vous voulez est un peu critique sur le design. Bon, en fait, je comptes centraliser le formatage de l’affichage, et permettre aux plugins d’intervenir dessus (pour permettre notament le highlight), mais reste que je peux pas penser a tout, et que si je peux me demander : il veux telle feature, est-ce que ca colle et que c’est implémentable facilement avec mon design, c’est tout bon.
(note, si tu regardes le sceenshot, c’est déja, du multiserveur :stuck_out_tongue: )

Il faudrait pouvoir sélectionner du texte de la zone des messages facilement, histoire de faciliter le bashage.