uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 12 févr. 2010 à 15:21
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.
aliassangelius
Messages postés33Date d'inscriptionvendredi 12 février 2010StatutMembreDernière intervention22 mars 2010 12 févr. 2010 à 15:14
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
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 9 mai 2009 à 10:14
Sans te forcer, si tu t'y mets un petit coup, tu verras que c'est très simple.
c3nturion68
Messages postés1Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention 8 mai 2009 8 mai 2009 à 22:06
bon sang je me rend compte que je n y comprend rien a mirc (je suis juste un utilisateur curieux !)
courage a vous :))))
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 17 mars 2009 à 21:39
je pourrais avoir la remote anti sapart svp , merci d'avance
hisoka2501
Messages postés264Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention 7 juillet 2009 14 févr. 2009 à 19:22
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 propre
car 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
hisoka2501
Messages postés264Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention 7 juillet 2009 14 févr. 2009 à 14:46
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 propre
car 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
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 11 févr. 2009 à 11:53
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.
PsychoFlex
Messages postés9Date d'inscriptionsamedi 9 décembre 2000StatutMembreDernière intervention16 février 2009 10 févr. 2009 à 21:28
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é !!
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 5 janv. 2009 à 12:46
lol je sais wims que je suis trop exigent lol, on me le reproche souvent lol, mais je suis toujour comme sa ^^
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 5 janv. 2009 à 08:48
niveau inité pour une ligne
tout ça pour un simple close window
t'es sajoin alors sort :)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 5 janv. 2009 à 05:20
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 servent
A bientot sur le forum =)
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 4 janv. 2009 à 23:28
ok uaip lol, par contre tu peux me corriger stp car j'en ai besoin du anti sapart stp, merci d'avance
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 4 janv. 2009 à 21:36
Non désolé, j'étais un peu sur les nerfs... :(
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 4 janv. 2009 à 21:24
mdr uaip, t'abandonne toujour aussi vite ? lol
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 4 janv. 2009 à 16:42
Bon, arrête avec ton "corrigez moi svp".
Moi tu me désespères, j'abandonne.
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 4 janv. 2009 à 16:31
on 1:SNOTICE:*were forced to join*:{
set %sa 1
}
on *:Part:#:{
if (%sa == 1) {
unset %sa
join $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
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 4 janv. 2009 à 15:03
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).
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 3 janv. 2009 à 21:36
j'avais fais sa :
on 1:SNOTICE:*were forced to join*:{
set %sa 1
}
on *:Part:#:{
if (%sa == 1) {
unset %sa
join $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
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 3 janv. 2009 à 21:33
uaip j'ai déjà essayer de remplacer , mais sa marche pas :s
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 3 janv. 2009 à 20:02
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.
griffondorr
Messages postés427Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 4 mai 2009 3 janv. 2009 à 19:41
10/10 car il marche impect, je voudrais le meme exemple pour un anti sapart svp
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 9 déc. 2008 à 18:12
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 faire
3) 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 mieux
6) 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.
Maka57
Messages postés9Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention24 mars 2009 9 déc. 2008 à 03:01
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ébutants
5. Plus haut j'ai dis que je vais amélioré ce bout de code et je pense que j'aurais dû le faire avant.
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 8 déc. 2008 à 18:43
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 :]
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 8 déc. 2008 à 18:29
salut
cette source a dejà ete supprimé je pense :/
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 8 déc. 2008 à 16:21
@uaip : oui mais encore faut il le savoir ^^
@maka54 : J'attends que la source sois améliorer avant de noter.
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 8 déc. 2008 à 13:48
Suffit de rajouter "You" au début du masque.
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 8 déc. 2008 à 12:35
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
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 8 déc. 2008 à 07:14
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.
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 7 déc. 2008 à 21:02
A ce compte là c'est "J'ai laissé de côté pour faire d'autres choses" :p
Yannick, euh... causer de quoi ?
Maka57
Messages postés9Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention24 mars 2009 7 déc. 2008 à 20:14
''J'ai laisser de coter pour faire d'autre codes''
(dsl faute de frappe)
Maka57
Messages postés9Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention24 mars 2009 7 déc. 2008 à 20:11
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 ici
Maka
cs_Yannick80
Messages postés10Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention 7 décembre 2008 7 déc. 2008 à 12:27
juste pour info, on peut se causer ou, je suis développeur windev ...
(après promis on arrete ce hors sujet :p
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 7 déc. 2008 à 12:19
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 :p
Mais 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à).
cs_Yannick80
Messages postés10Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention 7 décembre 2008 7 déc. 2008 à 12:09
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... mdrrrr
Pour 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)
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 7 déc. 2008 à 11:53
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étique
alias 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 ^^.
cs_Yannick80
Messages postés10Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention 7 décembre 2008 7 déc. 2008 à 11:38
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.
Maka57
Messages postés9Date d'inscriptionsamedi 26 juillet 2008StatutMembreDernière intervention24 mars 2009 6 déc. 2008 à 23:02
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
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 6 déc. 2008 à 21:54
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]
12 févr. 2010 à 15:21
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.
12 févr. 2010 à 15:14
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
9 mai 2009 à 10:14
8 mai 2009 à 22:06
courage a vous :))))
17 mars 2009 à 21:39
14 févr. 2009 à 19:22
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 propre
car 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
14 févr. 2009 à 14:46
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 propre
car 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
11 févr. 2009 à 11:53
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.
10 févr. 2009 à 21:28
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é !!
5 janv. 2009 à 12:46
5 janv. 2009 à 08:48
tout ça pour un simple close window
t'es sajoin alors sort :)
5 janv. 2009 à 05:20
-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 servent
A bientot sur le forum =)
4 janv. 2009 à 23:28
4 janv. 2009 à 21:36
4 janv. 2009 à 21:24
4 janv. 2009 à 16:42
Moi tu me désespères, j'abandonne.
4 janv. 2009 à 16:31
set %sa 1
}
on *:Part:#:{
if (%sa == 1) {
unset %sa
join $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
4 janv. 2009 à 15:03
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).
3 janv. 2009 à 21:36
on 1:SNOTICE:*were forced to join*:{
set %sa 1
}
on *:Part:#:{
if (%sa == 1) {
unset %sa
join $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
3 janv. 2009 à 21:33
3 janv. 2009 à 20:02
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.
3 janv. 2009 à 19:41
9 déc. 2008 à 18:12
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 faire
3) 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 mieux
6) 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.
9 déc. 2008 à 03:01
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ébutants
5. Plus haut j'ai dis que je vais amélioré ce bout de code et je pense que j'aurais dû le faire avant.
8 déc. 2008 à 18:43
8 déc. 2008 à 18:29
cette source a dejà ete supprimé je pense :/
8 déc. 2008 à 16:21
@maka54 : J'attends que la source sois améliorer avant de noter.
8 déc. 2008 à 13:48
8 déc. 2008 à 12:35
@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
8 déc. 2008 à 07:14
@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.
7 déc. 2008 à 21:02
Yannick, euh... causer de quoi ?
7 déc. 2008 à 20:14
(dsl faute de frappe)
7 déc. 2008 à 20:11
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 ici
Maka
7 déc. 2008 à 12:27
(après promis on arrete ce hors sujet :p
7 déc. 2008 à 12:19
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 :p
Mais 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à).
7 déc. 2008 à 12:09
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... mdrrrr
Pour 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)
7 déc. 2008 à 11:53
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étique
alias 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 ^^.
7 déc. 2008 à 11:38
Le néophyte que je suis y vois un exemple de gestion de snotice.
6 déc. 2008 à 23:02
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
6 déc. 2008 à 21:54
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]