on 1:SNOTICE:*were forced to join*:{ set %sa 1 } on *:JOIN:#:{ if (%sa == 1) { unset %sa part $chan Anti sajoin ! [AUTOPART] } }
En effet, rien d'exceptionnel... Ne le prends pas mal mais si on devait poster toutes nos petites "merdouilles" de 3lignes, ce site serait saturé ^^Sinon, une question, ne peut-on pas tout simplement faire ceci ? (je ne vais plus sur IRC)on *:snotice:*were forced to join*:part $7 Anti sajoin ! [AUTOPART]
Yep, non j'le prends pas mal, une suggestion est toujours la bienvenue Je m'étais dit que ça pouvait servir,et comme j'en es pas vu sur ce site...En effet on peut faire aussi comme ça => on *:snotice:*were forced to join*:part $7 Anti sajoin ! [AUTOPART]Après tout je croyais bien faire ^^Enjoy
Je pense que même si ce n'est pas un code de 300 lignes, il a sa place.Le néophyte que je suis y vois un exemple de gestion de snotice.
Ce n'est pas ce que j'ai voulu dire. La taille n'a rien à voir avec la qualité du code.Cependant, il aurait pu par exemple agrémenter sa source avec d'autres petits bouts de code du même style, histoire de faire un truc un petit plus complet. Il y a plein de petits bouts de code comme ça de 3 lignes (répondeur pv, anti-insultes, changement de nick après un highlight, kb sur une ident précise, etc etc). C'est en effet intéressant poru débuter.Après on peut aller un peu plus loin en créant des identifieurs spécifiques pour les traitements d'informations, etc.D'ailleurs, je viens d'en retrouver un là, je le montre à titre d'exemple (assez mal codé, c'était il y a longtemps ^^). Si mes souvenirs sont bons, il sert à détecter si plusieurs mots/lettres sont dans une chaine de caractères, en prenant en compte plusieurs paramètres :;# $winsil(texte,exp1*exp2*etc,C);# M = majuscules;# m = minuscules;# i = inverse alphabétique;# o = ordre alphabétiquealias winsil { unset %winsilpb if ($regex($2,/^\|/)) { set %winsilpb $+(",$chr(42),") interdit en début d'expression } if ($regex($2,/\|$/)) { set %winsilpb $iif(%winsilpb,$ifmatch //) $+(",$chr(42),") interdit en fin d'expression } if (!$gettok($2,2,42)) { set %winsilpb $iif(%winsilpb,$ifmatch //) syntaxe incorrecte } if (!$2) { set %winsilpb $iif(%winsilpb,$ifmatch //) aucune expression précisée } if ($regex($2,/^[0-9]/) || $regex($2,/\|[0-9]/)) { set %winsilpb $iif(%winsilpb,$ifmatch //) chiffres interdits en début de token } if ($regex($3,/m/) && $regex($3,/M/)) { set %winsilpb $iif(%winsilpb,$ifmatch //) identificateurs non compatibles } if (%winsilpb) { echo -s - | echo -s * $+($chr(36),winsil()) : %winsilpb $+($chr(40),$2,$chr(41)) | echo -s - | halt } unset %winsil* | set %winsil1 $1 | set %winsil2 $2 if ($3) { if ($regex($3,/M/)) { set %winsil3 $addtok(%winsil3,M,46) } | if ($regex($3,/m/)) { set %winsil3 $addtok(%winsil3,m,46) } if ($regex($3,/i/)) { set %winsil3 $addtok(%winsil3,i,46) } | if ($regex($3,/o/)) { set %winsil3 $addtok(%winsil3,o,46) } } if (%winsil3) { if ($regex(%winsil3,/M/)) { set %winsil2 $upper(%winsil2) } | if ($regex(%winsil3,/m/)) { set %winsil2 $lower(%winsil2) } if ($regex(%winsil3,/i/)) { set %winsil2 $sorttok(%winsil2,42,r) } | if ($regex(%winsil3,/o/)) { set %winsil2 $sorttok(%winsil2,42) } } tokenize 42 %winsil2 var %a 1 | while (%a <= $numtok(%winsil2,42)) { if ($regex(%winsil1,$+(/,$ [ $+ [ %a ] ],/)) == 0) { return 0 | halt } else { if (%winsill) && ($findtok(%winsil1,$matchtok(%winsil1,%winsill,1,32),1,32) > $findtok(%winsil1,$matchtok(%winsil1,$ [ $+ [ %a ] ],1,32),1,32)) { return 0 } set %winsill $matchtok(%winsil1,$ [ $+ [ %a ] ],1,32) } inc %a } return 1}En regardant le code maintenant je me dis "quelle horreur" mais à l'époque je faisais plein, des trucs comme ça, pour apprendre. Et tout ça maintenant, ça pourrit au fin fond de mon disque dur ^^.
lol, je pense qu'on est tous a peu près pareils ...Je ne code pas en mirc, uniquement en tcl, donc je recup des bouts de codes a droite et a gauche, par moment, les résultats sont curieux (interaction des codes ...).Inutile donc de te dire que si pour toi c'est mal codé, pour moi c'est du grand art... mdrrrrPour le code snotice, ça serait bien de trouver (vous allez me dire que ça existe 200 fois) une liste des snotice les plus courantes et comment les gérer (UAIP : au boulot :p)
Je suis aussi passé par le TCL ^^ puis le Perl (ça faisait encore plur "pro" :p).Là pour ma part, j'ai complètement arrêté l'IRC depuis quelques temps, je suis dans la programmation logicielle maintenant.Donc tout ce qui est SNOTICE etc... démerdez-vous :pMais tu verras Yannick80, comme tu dis on est tous à peu près pareil, donc attends-toi à changer de branche dans quelques temps ^^.(Bon je me tais, parce-qu'on dévie du sujet, là).
juste pour info, on peut se causer ou, je suis développeur windev ...(après promis on arrete ce hors sujet :p
Yep,merci pour vos avis,donc oui c'est un bout de code que j'es fait y'a quelques années,j'voulais le modifier et ajouter d'autres choses afin de le rendre plus complet,mais j'es laisser de coter pour faire d'autre choses.Après ça peut être aussi intéressant pour les débutants en effet.J'ai préférer poster ça que mon mp3 et autres bidules qui dorment sur mon disque dur alors qu'il y'en à une paires iciMaka
''J'ai laisser de coter pour faire d'autre codes''(dsl faute de frappe)
A ce compte là c'est "J'ai laissé de côté pour faire d'autres choses" :pYannick, euh... causer de quoi ?
Bonjour,@yannick80 Pour avoir une liste des snotice les plus courantes utilisé par le server tu fait une @window dans laquelle tu envoie toutes les snotice. Je poste le petit bout de code pour cela : on ^*:SNOTICE:*:{ if (!$window(@Snotice)) { window -kn @Snotice } aline -ph 7 @Snotice [ $+ $time $+ ] $1- haltdef}Pour les traiter c'est simple il suffit de mettre sa :on 1:SNOTICE:*un bout du texte de la snotice reconnaissable*:{ j'entend par reconnaissable du texte n'apparaissant que dans cette snotice.@maka57 suis les conseils de uaip, améliore ta source, update là en fonction de ce qu'il t'as dit.Bonne journée.
Rebonjour@maka57 : petites améliorations : - Rend configurable la raison du part - Met "if %sa" au lieu de "if %sa == 1" (ligne 5) - Si on est IRCop ou qu'on reçoit les snotice et que quelqu'un d'autre est sajoin sur un chan quelconque, et que nous nous rendons après sur un chan, nous partirons, pas très interressant, prends en compte le fait que la snotice doit s'appliquer uniquement si c'est nous qui sommes sajoin - Je rebondis en même temps sur le commentaire de yannick80, tu pourrais également francisé les snotice les plus courantes.@uaip ton amélioration est bonne mais, comme la remarque que j'ai faite a maka57, si nous recevons les snotice et que nous sommes sur le chan ou la personne est sajoin nous partirons du susdit chan.Bonne journée
Suffit de rajouter "You" au début du masque.
@uaip : oui mais encore faut il le savoir ^^ @maka54 : J'attends que la source sois améliorer avant de noter.
salut cette source a dejà ete supprimé je pense :/
Euh le truc c'est que tu appeles ta source tiens en une simple ligne, c'est une nouvelle methode pour pas pouvoir se faire critiquer sur le code :) ? Dans tout les cas, ta source n'est pas de niveau initie, je vois mal pourquoi ton code est accepte, mais si tu pouvais l'ameliore un peu genre qu'on puisse choisir sur quel server/network/salon on peut faire ca etc, rajouter des trucs pour que ca ressembe a quelque chose quoi :]
1. Toutes sources à ça place sur ce site. (Y'a bien des LamerZ qui poste des floodeurs ou des choses inutiles)2. Je l'es coder y'a quelques années donc oui non initié.Tout le monde à bien debuté avec des petites merdouilles un jour.3. Critique ou non je m'en cogne tant qu'elle est intéressante à lire.4. C'est plus un exemple pour les débutants5. Plus haut j'ai dis que je vais amélioré ce bout de code et je pense que j'aurais dû le faire avant.
1) Ne dis pas nimporte quoi, sinon chaque jour tlm post une ligne de code, et on se retrouve a 40 sources d'une ligne par jour.2) Je ne dis pas que personne n'a jamais debute, mais cela n'a aucun rapport puisque beaucoup de personne debute mais savent qu'il ne faut pas poster pour poster et s'abstiennent de le faire3) Alors, elles sont interessantes les miennes :) ?4) C'est trop juste pour un exemple, il faut que tu presente un truc qui valent qqch.5) Tant mieux6) C'est cool les commentaires comme ca avec des numeros devant chaque idees :(.7) Pense a utilise une * pour le level d'utilisateur plutot que 1, parce que 1 est le level d'utilisateur par defaut, mais il est possible de le changer, meme pour sois.
10/10 car il marche impect, je voudrais le meme exemple pour un anti sapart svp
Rooo... griffondor t'as rien compris au principe du site. Ce n'est pas parce-qu'une source marche qu'elle mérite un 10/10.Si je te donne : "alias pouet say Pouet pouet pouet !!" tu vas mettre 10/10 parce-qu'elle marche ? Non, ça ne mériterait même pas un 1/10 car ça ne sert à rien.Et en réfléchissant 2 secondes, tu inverserais simplement les "part" et les "join" et tu aurais ce que tu demandes au lieu de demander à quelqu'un d'autre de le faire à ta place.
uaip j'ai déjà essayer de remplacer , mais sa marche pas :s
j'avais fais sa :on 1:SNOTICE:*were forced to join*:{set %sa 1}on *:Part:#:{if (%sa == 1) {unset %sajoin $chan Anti sapart ! [AUTOJOIN]}}mais sa marche pas pour le anti sapart , j'arrive pas a trouver l'erreur, où est l'erreur ?merci de me le corriger svp
Bon, je vais répéter alors : Et en réfléchissant 2 secondes, tu inverserais simplement les "part" et les "join" et tu aurais ce que tu demandes au lieu de demander à quelqu'un d'autre de le faire à ta place.Et ça ne sert à rien de me dire "oui mais je l'ai déjà fait", puisque non (petit indice : tu en as oublié un).
on 1:SNOTICE:*were forced to join*:{set %sa 1}on *:Part:#:{if (%sa == 1) {unset %sajoin $chan Anti sapart ! [AUTOJOIN]}}}tu crois que sa va marcher ?car tu m'a dis qu'il faut ajouter un } de plus, a moins que j'ai fais une erreur pour le anti sapart, corrigez moi svp
Bon, arrête avec ton "corrigez moi svp".Moi tu me désespères, j'abandonne.
mdr uaip, t'abandonne toujour aussi vite ? lol
Non désolé, j'étais un peu sur les nerfs... :(
ok uaip lol, par contre tu peux me corriger stp car j'en ai besoin du anti sapart stp, merci d'avance
J'sais pas si c'est cense etre marrant, mais as tu realiser que :-D'une, tu pollue les commentaires sur une source (si tu poste une source, promis, je viendrais poser des questions aussi merdique que les tienne par centaine) qui n'est pas la tienne, si tu as une question a poser c'est dans le forum-Tu mets 10/10 a une source qui ne devrais meme pas etre ici, ca en dis long tu sais..-Tu dis avoir "fais", mais ce n'est pas toi, tu ne sais pas coder (a la limite ca passe, on est pas tous cense savoir coder, mais ca fait partie des trucs qui m'enerve)-Le pire du pire c'est qu'on ta purement premache le travail en te disant de remplacer les join par les part, deux fois...-Tu est trop exigeant, tu crois qu'on est a ta merci, qu'on te fait les codes, que tu kiff et finish ? Nan.On n'est cense qu'aider les gens.C'est fou de "confondre" aider et "faire"N'essaye pas d'ecrire nimporte quoi, essaye de comprendre ce que font les choses et a quoi elle serventA bientot sur le forum =)
niveau inité pour une ligne tout ça pour un simple close window t'es sajoin alors sort :)
lol je sais wims que je suis trop exigent lol, on me le reproche souvent lol, mais je suis toujour comme sa ^^
yannick80, je trouve interressant ta remarque pour une liste de snotice, perso je me suis aussi coller sur ce type de requete. Voici un bon petit bout, en espèrant pas trop deranger le site :) on ^*:snotice:*: { if ($window(@Notices) == $null) { window -mkOne @Notices 0 0 599 299 } if ( /whois on you. isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Info 8IRCOP6]7 $2 12a fait un 7Whois 12sur toi! | aline -ph @Notices 6[14 $+ $time $+ 6]9-6[4Info 8IrcOp6]7 $2 12a fait un 7Whois12 sur toi! | halt } if (is now a co administrator (C) isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Info 14Serveur6]7 $1 12est maintenant un7 Co-Administrateur 4!! | halt } if (is now an operator (O) isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Info 8IRCOP6] 8 $1 14:Authentification sur8 $3 14Login:8 $2 | halt } if (used SAJOIN isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Info8 Serveur $+ 6]7 $4 12force7 $9 12à joindre7 $11 6[13SAJOIN6] | Halt } if (used SAPART isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Info8 Serveur $+ 6]7 $4 12force7 $9 12à partir de7 $11 6[13SAPART6] | Halt } if (used RAW isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Global8 $5 $+ 6]7 $6 12à utiliser une Commande 7 $8 12pour 6[13 $11 6] | Halt } if (FAILED OPER isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Info 8IRCOP6] 4FAILED OPER 10de11 $8 4 $+ $9 | Halt } if ( Global isin $1- ) { if ( is now an IRC operator. isin $1- ) { if ( $me isin $1- ) { echo -as 6[14 $+ $time $+ 6]9-6[4Global8 $5 $+ 6]12Tu est maintenant un 8IrcOp 12! | aline -ph @Notices 6[14 $+ $time $+ 6]9-6[4Global8 $5 $+ 6]12 Tu es maintenant un 8IrcOp12 ! | halt } else { echo -as 6[14 $+ $time $+ 6]9-6[4Global8 $5 $+ 6]8 $6 12est maintenant un 8IrcOp 12! | halt } } else { aline -ph @Notices 6[14 $+ $time $+ 6]9-6[4Global8 $5 $+ 6]12 $6- | halt } } else { echo -s 6[14 $+ $time $+ 6]9-6[4Info 14Serveur6]12 $1- | halt } halt } Je dirais y'en a bien d'autres, mais si faut tous les repertoriés c'est une enorme page, les principaux m'ont suffit, en esperant que cela t'aide:) sinon je suis surpris aussi de voir cette source en initié !!
Salut,Sans être méchant, c'est mal codé, "if" en cascade, aucun algo visible (donc aucune réflexion derrière le code).Je cite "Je dirais y'en a bien d'autres, mais si faut tous les repertoriés c'est une enorme page".Du tout. Il suffit de stocker dans une base de donnée, la remote en elle même ne pouvant faire que 5 ou 6 lignes.Cordialement, uaip.
bon, pour faire simple: ce bout de code est une horreur :/on 1:SNOTICE:*were forced to join*:{ var %line = $strip($1-).timer 1 1 part $gettok($mid(%line,$pos(%line,$chr(35),1)),1,32) [message de part]}me paraitrais deja bien plus proprecar la dans ton cas actuel:si on te force a joindre un chan et qu'au meme moment tu en joignais un, tu va certainement quitter le mauvais channel
je pourrais avoir la remote anti sapart svp , merci d'avance
bon sang je me rend compte que je n y comprend rien a mirc (je suis juste un utilisateur curieux !) courage a vous :))))
Sans te forcer, si tu t'y mets un petit coup, tu verras que c'est très simple.
Salut remote anti sapart bah tu fait genre On *:part:#chan:{ /sajoin $nick $chan}un truc simple si je ne me trompe pas..Ps je débute de 2 jours lol donc je dis une connerie peut etre :x
Salut,Pour commencer oui tu dis une connerie car ce code, bien qu'il soit syntaxiquement (presque) juste, est mal pensé.Que se passe t-il si tu décides de quitter un salon ? Et bien tu ne pourras plus.Ensuite, on est sur un topic anti-sajoin et non anti-sapart :)Enfin, ça ne sert à rien de déterrer des topics qui ont 2 ans...Bonne continuation.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 702 964 membres 51 nouveaux aujourd'hui 15 735 membres club