Systeme d'identification pour bot en variables

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 715 fois - Téléchargée 22 fois

Contenu du snippet

Ceci est un petit code fait en une soirée, c'est un système d'identification pour bot, mais en variables, ( tout est dans le titre en effet ). J'ai parcourut le site et je n'en est pas trouvé, donc voila, je me suis lancé dans ça ...
Le code est très simple, pas très bien codé, c'est sur, mais je ne suis qu'un débutant, et c'est la première source que je dépose ici, donc soyez indulgent svp.

Le code permet d'enregistrer des host avec des levels d'axX, et tout ça est proteger par un mot de passe.
Pour s'enreistrer --> /msg <Bot> register <Mdp>
Pour se loguer --> /msg <Bot> login <Mdp>
Pour l'aide --> !help

Et un petit truc, que j'ai oublié de mettre dans l'aide, pour ajouter un axx, c'est --> !go-axx <Pseudo> Niveau

Sachant que Niveau 1 peut se voicer, niveau 4 halfop + voice et ainsi dessuite, comme sur BotServ.

Source / Exemple :



  • 1 Page *
On *:text: register*:?:{ if ($2 == $null) && ($1 == register) { .notice $nick [ERREUR] <~~> 3/msg $me Register MotDePasse } elseif ($address($nick,2) isin $read(pseudoth.txt, w,* $+ $address($nick,2) $+ *)) { .notice $nick [ERREUR] <~~> Vous êtes déjà enregistré sur le bot avec l'adresse :4 $address($nick,2) } elseif ($2 == MotDePasse) && ($1 == register) { .notice $nick [ERREUR] <~~> Merci de donner un mot de passe valide } else { /write pseudoth.txt $address($nick,2) | /set %mdp $+ $address($nick,2) $2 | /set %ol $+ $address($nick,2) ON | .notice $nick Vous êtes maintenant enregistré auprès du bot avec l'adresse :4 $address($nick,2) } } On *:text: login*:?:{ if ($2 == $null) && ($1 == login) { .notice $nick [ERREUR] <~~> 3/msg $me login MotDePasse } elseif ($address($nick,2) != $read(pseudoth.txt, w,* $+ $address($nick,2) $+ *)) { .notice $nick [ERREUR] <~~> Vous n'êtes pas enregistré auprès du bot : 3/msg $me register MotDePasse 4Si vous avez changé votre vhost, merci de vous ré-enregistrer } elseif (%ol [ $+ [ $address($nick,2) ] ] == ON) { .notice $nick [ERREUR] <~~> Vous êtes déjà identifié } elseif ($2 != %mdp [ $+ [ $address($nick,2) ] ]) { .notice $nick [ERREUR] <~~> Mauvais Mot de passe } else { /set %ol [ $+ [ $address($nick,2) ] ] ON | .notice $nick Identification Réussie } } On *:text: logout*:?:{ if ($address($nick,2) != $read(pseudoth.txt, w,* $+ $address($nick,2) $+ *)) { .notice $nick [ERREUR] <~~> Vous n'êtes pas enregistré auprès du bot : 3/msg $me register MotDePasse 4Si vous avez changé votre vhost, merci de vous ré-enregistrer } elseif (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous n'êtes pas identifié } else { /set %ol [ $+ [ $address($nick,2) ] ] OFF | .notice $nick Vous n'êtes plus identifié } }
  • 2 Page *
on *:part:#:{ If ( %ol [ $+ [ $address($nick,2) ] ] == ON ) { /set %ol $+ $address($nick,2) OFF } } on *:join:#:{ If ($nick != $me) { If (%ol [ $+ [ $address($nick,2) ] ] == ON) { .msg $chan Bonjour $nick !! [ Auth : ON ] } If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .msg $chan Bonjour $nick !! [ Auth : OFF ] } } } On *:text: !info*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == ON) { .msg $chan $nick --> [ Auth : 4ON ] } If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .msg $chan $nick --> [ Auth : 4OFF ] } If ($address($nick,2) != $read(pseudoth.txt, w,* $+ $address($nick,2) $+ *)) { .msg $chan $nick --> Tu n'est pas enregistré auprès du bot ... 4/msg $me register MotDePasse } } On *:text: hello*:?:{ If (%helloauth == OFF) { .notice $nick 4J'ai déjà un Maître ! } else { /set %mdp $+ $address($nick,2) $2 | /set %ol $+ $address($nick,2) ON | /write pseudoth.txt $address($nick,2) | /inc %axx $+ $address($nick,2) 10 | .notice $nick Tu es mon Maître, enregistré sous l'host :4 $address($nick,2) .:::. Avec comme Mot de passe :4 %mdp [ $+ [ $address($nick,2) ] ] | /set %helloauth OFF } }
  • 3 Page *
On *:text: !v*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 0) && ($2 == $null) { /mode $chan +v $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) { /mode $chan +v $2 } } On *:text: !dv*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 0) && ($2 == $null) { /mode $chan -v $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) { /mode $chan -v $2 } } On *:text: !h*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 3) && ($2 == $null) { /mode $chan +h $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) { /mode $chan +h $2 } } On *:text: !dh*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 3) && ($2 == $null) { /mode $chan -h $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) { /mode $chan -h $2 } } On *:text: !o*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] < 5) { .notice $nick [ERREUR] <~~> Votre AxX N'est pas sufisant ! | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) && ($2 == $null) { /mode $chan +o $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) { /mode $chan +o $2 } } On *:text: !do*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] < 5) { .notice $nick [ERREUR] <~~> Votre AxX N'est pas sufisant ! | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) && ($2 == $null) { /mode $chan -o $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 4) { /mode $chan -o $2 } } On *:text: !a*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] < 10) { .notice $nick [ERREUR] <~~> Votre AxX N'est pas sufisant ! | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 9) && ($2 == $null) { /mode $chan +a $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 9) { /mode $chan +a $2 } } On *:text: !da*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] < 10) { .notice $nick [ERREUR] <~~> Votre AxX N'est pas sufisant ! | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 9) && ($2 == $null) { /mode $chan -a $nick } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] > 9) { /mode $chan -a $2 } } On *:text: !go-axx*:#:{ If (%ol [ $+ [ $address($nick,2) ] ] == OFF) { .notice $nick [ERREUR] <~~> Vous devez être identifier pour utiliser cette commande ( /msg $me login MotDePasse ) | /halt } if ($address($2,2) != $read(pseudoth.txt, w,* $+ $address($2,2) $+ *)) { .notice $nick Vous ne pouvez mettre des aXx que sur des host's enregistré auprès du bot ! | .notice $2 $nick à éssayé de vous mettre un aXx, enregistré vous auprès du bot, pour que cela soit possible ! ( /msg $me register MotDePasse ) | /halt } If (%ol [ $+ [ $address($nick,2) ] ] == ON) && (%axx [ $+ [ $address($nick,2) ] ] < 10) { .notice $nick [ERREUR] <~~> Votre AxX N'est pas sufisant ! | /halt } If ( %ol [ $+ [ $address($nick,2) ] ] == ON ) && ( %axx [ $+ [ $address($nick,2) ] ] > 9 ) { /set %axx $+ $address($2,2) $3 | .notice $nick Un aXx3 Niveau $3 a bien été ajouté sur l'host4 $address($2,2) ! | .notice $2 $nick vient de vous mettre un aXx 3Niveau $3 sur votre host :4 $address($2,2) } }
  • 4 Page *
On *:text:!Help*:#:{ .notice $nick Général --> !Aide.G .notice $nick Modération --> !Aide.M .notice $nick Accèss --> !Aide.A } On *:text:!Aide.G*:#:{ .notice $nick .::Général::. .notice $nick Pour s'enregistrer --> /msg $me register MotDePasse .notice $nick Pour s'identifier --> /msg $me login MotDePasse .notice $nick Pour se désidentifier --> /msg $me Logout .notice $nick Pour connaître son statut ( Level axx ... ) --> !info ( Sur un chan ) } On *:text:!Aide.M*:#:{ .notice $nick .::Modération::. .notice $nick Protect --> !a ou !a <Pseudo> .:::. Deprotect --> !da ou !da <Pseudo> .notice $nick Op --> !o ou !o <Pseudo> .:::. Deop --> !do ou !do <Pseudo> .notice $nick Halfop --> !h ou !h <Pseudo> .:::. Dehalfop --> !dh ou !dh <Pseudo> .notice $nick Voice --> !v ou !v <Pseudo> .:::. Devoice --> !dv ou !dv <Pseudo> } On *:text:!Aide.A*:#:{ .notice $nick .::Accèss::. .notice $nick Niveau 1 --> Voice ( Juste Pour Soit Même ) .notice $nick Niveau 4 --> Voice ( Pour Tout Le Monde ) .:::. Halfop ( Juste Pour Soit Même ) .notice $nick Niveau 5 --> Voice ( Pour Tout Le Monde ) .:::. Halfop ( Pour Tout Le Monde ) .:::. Op ( Pour Tout Le Monde ) .notice $nick Niveau 10 --> Voice ( Pour Tout Le Monde ) .:::. Halfop ( Pour Tout Le Monde ) .:::. Op ( Pour Tout Le Monde ) .:::. Protect ( Pour Tout Le Monde ) .notice $nick /!\IMPORTANT/!\ <~~> Pour connaître les commandes de modération ( voice, op ... ) --> !Aide.M }

Conclusion :


IMPORTANT ==> Il est indispensable de séparer le code dans 4 pages neuves, sinon le code ne fonctionne pas dans sa totalitée.

Dans votre bot : " alt " + " R " --> " fichier " --> " new " --> Copier coller, la première partie, puis la seconde, puis la troisième, et enfin la quatrième.

Le seul problème qu'il peut y avoir, c'est que la source est divisée en 4 page de remotes, si on met tout en semble, le bot ne fonctionne pas, mais à part ça, tout marche.

Donc, pour l'aide " !help "
Pour vous identifier en tant que owner du bot --> /msg <Bot> hello <Mdp>

Pour inserer ce code dans une remote de jeu de mini RPG par exemple, il suffit de rajouter dans chaque on text : " If (%ol [ $+ [ $address($nick,2) ] ] == ON) " Puisque si la variable est ON, c'est que la personne est enregistrée dans le bot.

Voila, tout est dit je pense.

Bonne journée et bonne année =)

PS : Merci d'être indulgent sur les commentaires, je suis débutant. Merci =)

A voir également

Ajouter un commentaire Commentaires
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Regarde l'aide pour savoir quelle différence il y a entre /halt /return voir meme /haltdef mais aucun rapport ici.

La commande /return arrête un script en cours d'utilisation et permet à la routine appelant de continuer le traitement.Vous pouvez également spécifier optionnellement une valeur de retour qui sera gardée dans l'identifieur $result. Le $result peut alors être utilisé dans la routine appelant.

/return [value]

La commande /halt arrête un script et empêche tout traitement ultérieur. Vous pouvez utiliser cela dans les scripts remote pour empêcher mIRC de répondre :
-aux messages ctcp normaux
-dans les alias pour les arrêter,
-dans tout alias appelant.
Messages postés
73
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
31 juillet 2008

Ha ok,

Merci beaucoup pour les tuyaus, j'essairais de regrouper les on text cet après midi, et pour les /return ? ca a quel effet en fait ? Le même que les /halt ?

En tout cas, merci, bonne journée =)
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Ok déja le titre de la source est faux puisque ce n'est pas qu'un system d'ident sur un bot mais plutot un bot plus ou moins complet.

IMPORTANT ==> Il est indispensable de séparer le code dans 4 pages neuves, sinon le code ne fonctionne pas dans sa totalitée.

J'aimerai bien voir ca. Ton code ne contient que des on text ( qu'il faut regroupé ) des on part et on join. En regroupant les on text, ton code sera déja beaucoup plus clair, (habitude qu'il vaut mieux avoir).

Tout les /halt doivent etre remplacés par des /return

Corrige déja tout ca, essaye sur un mirc vierge de mettre le code sur une seul page.

Pour regroupé les on text fais comme ca ( c'est un exemple ) :

on *:text:*:#:{
if ($1 !Ga && $2 is) set %ga Ga
;si $1 !Ga et si $2 is, on effectue la command
elseif ($1 !ok || $78 WOW!) set %ok putin $78 ca doit etre tendu de tout géré
;sinon si $1 !ok ou si $78 wow!, on effectue la cmd
else set %else bah sinon tu fais ce que tu veux
;sinon on fait la cmd
}

si le if est validé, mirc ne cherchera meme pas a vérifié le elseif.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Corween)