Commande pour un bot

cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008 - 8 févr. 2008 à 20:05
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008 - 15 févr. 2008 à 17:54
Bonsoir

J'ai un salon avec un botserv et je n'arrive pas à trouver la commande pour que le bot kick un pseudo non désiré.

Je ne veux pas la commande d'un akick, car je veux que la personne puisse revenir mais avec un pseudo correct avec le message l'a prévenant qu'elle a été sortie du channel et la cause

Si quelqu'un peut m'aider car j'ai fouillé un peu partout  mais je n'arrive pas à trouver

Merci

44 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
9 févr. 2008 à 01:59
Tu as plusieur solution ici, le mieux est de crée une hash table avec le nom des pseudo désiré, et vérifié on join par exemple vérifié si le pseudo correspond
Regarde l'aide sur les hash table, tu devrais pouvoir y arriver, pose ton début de code ici si tu as un soucis
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
10 févr. 2008 à 17:14
Petite question wims, les hashtables peuvent etre utilisées avec d'autres langages ? (comme le TCL). Ca pourrait-être l'équivalent d'un tableau (ou d'une liste), non ?

Cordialement, uaip.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
10 févr. 2008 à 17:23
Plus ou moins surement, mais les hashtables ont un format bizarre, si tu /hsave une table et que tu ouvres le fichier après, tu vas voir tes données, mais spécialement stocké, donc faudrait qu'en tcl tu fasse ton code pour savoir ou choppé le Xieme item ou un truc du genre :/
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
10 févr. 2008 à 17:32
Mouai je vois... Bon d'ac. (c'était une question que je me posais, étant passé du mirc au tcl, je cherchais l'équivalent des hashtables, $iif(), aliases, etc)
Merci bien.

Cordialement, uaip.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
10 févr. 2008 à 23:39
bonsoir
En fait je voulais savoir s'il existait une commande genre :
/botserv BADWORDS channel {ADD|DEL|LIST|CLEAR} [word | entry-list] [SINGLE|START|END]

à taper car le bot que j'ai sur mon tchat est un bot du serveur
-
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
11 févr. 2008 à 19:59
Oui oui, j'avais regardé, mais j'ai pas trouvé pour les pseudos... donc a ma connaissance BotServ ne gère pas ca, mais ma connaissance est très minimale au niveau IRC -__-

Cordialement, uaip.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
11 févr. 2008 à 20:45
/msg botserv help badwords
ou /msg botserv peut aussi être (dependant du server) /bs ou /botserv

...te donnera l'aide sur cette commande, je comprend pas bien ton problème, je comprend encore moins la réponse de Uaip...
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
11 févr. 2008 à 21:27
uaip
Je crois en effet  que Botserv ne gère pas ca, j'ai trouvé presque toutes les commandes de botserv mais rien pour les pseudos.

wims

j'ai la commande bawords mais c'est pas cela que je désire

je voulais une commande botserv qui kike un pseudo indésirable en lui disant de changer. Mais avec le bot du serveur ca me parait impossible

merci à vous deux
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
12 févr. 2008 à 16:45
En gros wims, elle voulait une sorte de commande(du type /bs) pour bloquer l'entrée de certains pseudos (enfin les kicker, quoi!). Exemple : si Pute rentre sur le salon et qu'il est dans la "liste" (qui n'existe apparament pas) il est kické.

Julie, si tu tiens a sortir un peu de sous de ta poche (genre 9euros pour un an), tu peux te faire un petit robot vite fait qui gère ca. [les 9euros sont pour payer la connexion 24/24h du robot).

Cordialement, uaip.
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
12 févr. 2008 à 18:15
uaip
Je peux éventuellement l'héberger car je suis connectée en permanence, mais je voulais éviter un deuxième bot.

Eventuellement l'hébergement du bot se fait où? car il m'arrive quand même de déco rarement soit mais ca m'arrive :-)
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
12 févr. 2008 à 18:35
ah bah si tu restes connectée 24/24h tu peux carrément te créer ce petit code sur ton client IRC.
Par exemple avec mIRC, tu peux te faire ca (je le fais vite fait):

on !*:join:*:if ($read(tonfichier.txt,w,$+(*,$nick,*))) kick $chan $nick Merci de choisir un autre pseudo
on !*:nick:if ($read(tonfichier.txt,w,$+(*,$nick,*))) kick $chan $nick Merci de choisir un autre pseudo

Puis tu mets les mauvais pseudos (un par ligne) dans un fichier.txt situé à la racine de ton client.
On peut faire beaucoup mieux, hein, mais là c'est la base...

Cordialement, uaip.
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
12 févr. 2008 à 18:58
ok merci je vais tester donc si je comprends bien car je bricole un peu mon script mais avec ce qui est déjà fait :-)

Donc j'ouvre une nouvelle page de remote je mets le ptit bout de code dedans je suppose que je remplace tonfichier par le nom que je lui aurais donné.

Par contre qu'est ce que tu appelles à la racine de ton client? car j'ai regardé dans le dossier de mon script mais j'ai des fichiers .text mais à l'intérieur de dossier.

Merci pour ton aide
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
12 févr. 2008 à 19:39
//echo -a $scriptdir
ca te retourne le dossier racine de ton client (là ou ya le mirc.exe quoi ^^)
sinon ce que tu dis est exact.

Cordialement, uaip.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
12 févr. 2008 à 20:04
Il y a confusion là...
$scripting retourne le chemin du script en cours d'execution
$mircdir retourne le chemin ou mIRC stock les infos comme mirc.ini et d'autre trucs

Avant, tout les fichiers de mirc étais forcément au même endroit donc $scriptdir = a $mircdir si l'on étais dans l'une des editbox de mirc par ex.Mais depuis quelque version, mirc utilise le repertoire des infos pour la session en cours  (.../Application Data/mirc/) par défaut a l'installation pour stocké toutes ses infos (sauf s'il trouve un mirc.ini dans le repertoire ou tu installe), ce qui veux dire que même dans le cas ou l'on est a l'interieur de mirc, $scriptdir peux être différent de $mircdir...

Un autre truc, dans l'event on nick, $chan est nul car on change de pseudo sur un server et non sur un salon, donc il faut faire une boucle sur $comchan($newnick,0) et kické s'il on est op uniquement (ou halfop si supporté)...
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
12 févr. 2008 à 20:04
uaip

j'ai testé, ca fonctionne impec

merci beaucoup :-)
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
12 févr. 2008 à 20:12
wims

On peut changer de pseudo sur un salon je comprends pas bien ce que tu veux dire, mais j'ai testé ce que m'a fait faire  uaip et ca fonctionne très bien, voilà le message que cela provoque

 Vous avez été éjecté(e) de #salonessai par away] ! Motif : Merci de choisir un autre pseudo
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
12 févr. 2008 à 20:20
Le code qu'il ta donné permet de "check" les pseudo lorsqu'il joigne le salon (on join) ainsi que lorsqu'il change de pseudo (on nick).
Je suis sur que tu n'as testé le code uniquement lorsqu'un utilisateur a join le salon et non quand il a changé de pseudo...
Quand je dis qu'on ne change pas de pseudo sur un salon mais sur un server cela veux dire qu'il n'y a pas de salon spécifique a un changement de pseudo, c'est uniquement par rapport au server que tu changes ton pseudo, donc dans son code, $chan qui renvoie au salon "ou c'est passé la chose" renvoi $null, il faut faire une boucle sur tout les salons que l'on a en commun avec le pseudo (le $comchan($newnick,0)) et vérifié que l'on puisse kické (op ou halfop...)
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
12 févr. 2008 à 20:32
donc en effet le test fonctionne pour le (on joint) mais si je rentre avec un pseudo correct et que je change une fois sur le salon je ne suis pas kickée donc le code serait :

on !*:join:*:if ($read(tonfichier.txt,w,$+(*,$nick,*))) kick $comchan($newnick,0) Merci de choisir un autre pseudo
on !*:nick:if ($read(tonfichier.txt,w,$+(*,$nick,*))) kick $comchan($newnick,0) Merci de choisir un autre pseudo
0
cs_julie13 Messages postés 38 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 1 octobre 2008
12 févr. 2008 à 20:52
wims
Avec ce code là cela ne fonctionne pas, même en entrant avec un pseudo interdit on est pas kické
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
12 févr. 2008 à 21:10
Il fallait interprété ce que je disais, c'est vrai que si on y connait rien, ça doit pas être facile.

Le on join étais bon continue de l'utiliser :
on !*:join:*:if ($read(tonfichier.txt,w,$+(*,$nick,*))) kick $chan $nick
Merci de choisir un autre pseudo

En revanche comme je l'ai expliqué, ici $chan retourne $null (rien si tu préfere), donc pour savoir ou il faut kické l'user, il faut faire une boucle sur tout les salon que tu as en commun avec le pseudo, $comchan(pseudo,N) retourne le Nieme salon en comumn avec le pseudo,  et retourne le nombre de salon commun si N  = 0 donc a partir de ça :

on !*:nick:if
($read(tonfichier.txt,w,$+(*,$nick,*))) | var %a $comchan($newnick,0)  | while (%a) { kick $comchan($newnick,%a) $newnick Merci de choisir un
autre pseudo | dec %a }

En fait, on stock le nombre de salon commun dans %a, puis on dit que "tant qu'il y a des salon en commun" (en fait on dit "tant que %a est différent de $null, 0 ou $false"), alors on kick le nouveau pseudo, et on décrémente %a, pour la boucle, pour passé au salon d'après (en commun).
0
Rejoignez-nous