Systeme d'identification pour bot en variables

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

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)