Detetcer la presence d'un nick ds un frase

Signaler
Messages postés
30
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
9 juin 2004
-
Messages postés
81
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
8 février 2007
-
salut !
Kan kelkun parle sur un salon, si ds sa frase ya un nick, celui si est reconnu par mirc et deviens clicable.

Moi ske j'aimerais faire c a peu pres pareil...
Je voudrais detecter la presence d'un pseudo dans un frase.

Une possibilité serais de passé la frase mot par mot et de la comparer a la nicklist mais bon niveau optimisation, ya mieu je pense...

Alors si vous avez une solution :)

iDo
A voir également:

8 réponses

Messages postés
97
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
7 juillet 2004

Fait l'inverse, compare la nickliste à la phrase...

var %i = 1
while(%i < $nick($chan,0)) {
if ($nick isin $1-) { ce que tu veux faire... | halt }
}

:)
Et Quidni!
Messages postés
30
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
9 juin 2004

oui, c a peut pres la methode que j'ai utlisé :)
Merci :)

domage ke yé pas une fonction native pour faire ça :/

iDo
Messages postés
274
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
24 août 2004

~~~~~~~~~
JuJuQuArTrE
~~~~~~~~~

Et comment on pourrai faire pour que le nick soit en gras ?

Mci ++
Messages postés
30
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
9 juin 2004

alias suivit {
; on converti la frasen en token
set %var1 $replace($2-,$chr(32),$chr(44))

var %scanpseudo = 1
:scan01
;on extrait mot a mot
set %pseudo $gettok(%var1,%scanpseudo,44)
if (%pseudo == $null) { goto end01 }
set %var2 NON
if (%pseudo ison $1) {
;si le mot corespond a un pseudo
set %var2 OUI
goto end01
}
inc %scanpseudo
goto scan01

:end01

unset %var1
unset %scanpseudo

;si on a trouvé un pseudo
;celui ci se trouve dans la variable %pseudo
;si yavais pas, %pseudo = null
if (%var2 == OUI) {
unset %var2
return %pseudo
unset %pseudo
}
else {
unset %var2
return null
unset %pseudo
}

}

Voila, avec ça, en gros, tu fait
%pseudodugars = $suivit($chan, $1-)
et
%pseudodugars prendra la valur du nick qui est di ds la frase

Par contre, si ya plus d'un nick ds la frase, les autre sont ignoré :/
iDo
Messages postés
97
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
7 juillet 2004

voui, j'ai planché un peu aussi à ton truc, voici un petit alias qui retourne les pseudos, et en prime, pour juju les "inverses" (au lieu de gras) dans la phrase.

alias pseudo-texte { ; $1 $chan et $2- la phrase: retourne $null ou les pseudos
; (et pour jujuquartre %texte la phrase avec les pseudo en reverse...) :o)
set %texte = $2-
var %i = 1
while (%i <= $nick($chan,0)) {
var %nick = $nick($chan,%i)
if ( %nick isin %texte ) {
set %texte $replace(%texte,%nick, $chr(22) $+ %nick $+ $chr(22))
var %pseudo-texte = %pseudo-texte %nick
}
inc %i
}
return %pseudo-texte
}
; ************************ ************** *********** ************ exemple d'utilisation
on 1:text:*:#:{
echo $chan $nick $+ : %texte :: $pseudo-texte($chan,$1-)
}

j'ai testé, ça marche bien...

:)
Et Quidni!
Messages postés
274
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
24 août 2004

~~~~~~~~~
JuJuQuArTrE
~~~~~~~~~

Okay merci :)
Messages postés
81
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
8 février 2007

on ^1:texte:*:#:{ var %cpt 1, %total $nick(#,0), %texte = $1-
while %cpt <= %total {
var %nick = $nick(#,%cpt)
if %nick isin %texte {
%texte = $replace(%texte,%nick, $+ %nick $+  )
}
inc %cpt
}
echo -a %texte
}

essai ca sa devrait marcher, jte lé fait de tete jai pas le temps de tester, et le  biensur cest un CTRL B
Messages postés
81
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
8 février 2007

oups g fait une erreur, dans ON TEXT <--- g mis un E lol fo lenlever ;)