[Recherche] Script Autovoice
#1
Et rebonjour.. Mad

J'ai fait énormément de recherches, mais je n'ai quasiment rien trouver. Je cherche un script qui fait que, après un certain nombre de lignes dites, le bot +v la personne en question.

J'ai trouvé ActiveChatter, mais il ne marche pas.. Quand un user atteint le nombre de ligne, il me change les modes du chan oO Oui oui, au lieu de /voice $nick , il /mode #chan +MIRCTS ... >< Et le pire, c'est que les lettres tombent aléatoirement .. C'est vous dire que ça me dérange. Et au final, il ne voice personne ..


Enfin bref, est-ce que vous en connaitrez un ? :3


Merci, encore une fois, vous gérez ! <3
Répondre Avertir
#2
Tu dois certainement pouvoir modifier le script pour qu'il utilise les bons modes.
J'imagine que tu parles de ActiveChatter qui est à http://code.google.com/p/egghelp/source/...hatter.tcl ?
Répondre
#3
Effectivement, j'ai modifié les scripts, et il marche mieux maintenant. Le script que j'avais était faussé, il mettait des "/mode #chan +/-" au lieu de simplement voice les gens. Là c'est bon, ça marche niiiickel. Encore une fois, merci énormément de votre aide, même envers des gros newbie comme moi Wink Vous gérez .
Répondre Avertir
#4
D'un autre côté, un voice, c'est /mode #chan +v machin.
Répondre
#5
Vrai, j'me suis mal exprimé. Il y avait de mauvais Flags dessus.

Tant que j'y suis, comme mon chan subit des attaques de spammers, vous n'avez pas un script facile pour voice tout le monde présent sur le chan ? Genre un !allvoice, et mon bot Voice toute le monde ? Smile Merci d'avance.
Répondre Avertir
#6
Salut,

TCL
bind pub o "!voiceall" voiceall
proc voiceall { nick host hand chan arg } {
            foreach voiceall [chanlist $chan] { if [isop $voiceall $chan] continue; pushmode $chan +v $voiceall }
}



Un truc du genre je pense
Répondre Avertir
#7
Nickel ! ça marche parfaitement Very Happy

Une dernière question et ça ira pour moi : J'ai un petit script pour sécuriser le chan, qui me permet de, avec une simple commande, pouvoir le mettre en +MD/-MD, ou alors en +avs/-avs. Or, je suis le seul à pouvoir le faire, c'est à dire que je suis le seul que le bot écoute. J'aimerai savoir si il y a pas une solution pour changer ça, en mettant des "if isop" quelque part.

Je vous met le code ici. Merci encore Smile


TCL
catch {bind pub m !autovoice channel:avs}
catch {bind join - * chan:vsjoin}
setudef flag avs
 
proc channel:avs {nick uhost hand chan arg} {
	switch -exact -- $arg {
		"on" {
			channel set $chan +avs
			putserv "PRIVMSG $chan :L'auto Voice a été activé, &nick."
		}
		"off" {
			channel set $chan -avs
			putserv "PRIVMSG $chan :L'auto Voice a été désactivé, &nick."
		}
	}
}
 
proc chan:vsjoin {nick uhost hand chan} {
	if {[channel get $chan avs]} {
              putquick "MODE $chan +v $nick"
	}
}
 
 
 
 
catch {bind pub m !p channel:pro}
setudef flag pro
 
proc channel:pro {nick uhost hand chan arg} {
	switch -exact -- $arg {
		"on" {
			channel set $chan +pro
			channel set $chan -avs
			putserv "PRIVMSG $chan :Le chan est dorénavant protégé, &nick."
		 	putserv "MODE $chan +mD"
		}
		"off" {
			channel set $chan -pro
			putserv "PRIVMSG $chan :Le chan n'est dorénavant plus protégé, &nick."
			putserv "MODE $chan -mD"
		}
	}
}


Répondre Avertir
#8
Donc, il s'agit des commandes restreintes au master ? Les bind pub m.
Deux possibilités :
- changer les binds pour les ouvrir aussi aux ops des canaux (bind pub m|o) en ajoutant bien sûr ces personnes dans la userlist de l'eggdrop avec les bons flags,
- changer les binds pour qu'ils soient accessibles à tous (bind pub -) et ajouter dans les procédures appelées, dès le début:
TCL
if { ![isop $nick $chan] } { return 0; }


Répondre
#9
Si j'ai bien compris, ça donnerai ça :

TCL
catch {bind pub - !autovoice channel:avs}
catch {bind join - * chan:vsjoin}
setudef flag avs
if { ![isop $nick $chan] } { return 0; }
 
proc channel:avs {nick uhost hand chan arg} {
	switch -exact -- $arg {
		"on" {
			channel set $chan +avs
			putserv "PRIVMSG $chan :L'auto Voice a été activé, &nick."
		}
		"off" {
			channel set $chan -avs
			putserv "PRIVMSG $chan :L'auto Voice a été désactivé, &nick."
		}
	}
}
 
proc chan:vsjoin {nick uhost hand chan} {
	if {[channel get $chan avs]} {
              putquick "MODE $chan +v $nick"
	}
}
 
 
 
 
catch {bind pub - !p channel:pro}
setudef flag pro
if { ![isop $nick $chan] } { return 0; }
 
proc channel:pro {nick uhost hand chan arg} {
	switch -exact -- $arg {
		"on" {
			channel set $chan +pro
			channel set $chan -avs
			putserv "PRIVMSG $chan :Le chan est dorénavant protégé, &nick."
		 	putserv "MODE $chan +mD"
		}
		"off" {
			channel set $chan -pro
			putserv "PRIVMSG $chan :Le chan n'est dorénavant plus protégé, &nick."
			putserv "MODE $chan -mD"
		}
	}
}




C'est ça ? *noob inside*
Répondre Avertir
#10
Pas tout à fait, je te le corrige pour la première procédure:
TCL
catch {bind pub - !autovoice channel:avs}
 
proc channel:avs {nick uhost hand chan arg} {
   if { ![isop $nick $chan] } { return 0; }
   switch -exact -- $arg {
      "on" {
         channel set $chan +avs
         putserv "PRIVMSG $chan :L'auto Voice a été activé, &nick."
      }
      "off" {
         channel set $chan -avs
         putserv "PRIVMSG $chan :L'auto Voice a été désactivé, &nick."
      }
   }
}


La condition est forcément dans les procédures.
Répondre
#11
Du coup, si j'ai bien compris, le bon script est :

TCL
catch {bind pub - !autovoice channel:avs}
catch {bind join - * chan:vsjoin}
setudef flag avs
 
proc channel:avs {nick uhost hand chan arg} {
   if { ![isop $nick $chan] } { return 0; }
   switch -exact -- $arg {
      "on" {
         channel set $chan +avs
         putserv "PRIVMSG $chan :L'auto Voice a été activé, &nick."
      }
      "off" {
         channel set $chan -avs
         putserv "PRIVMSG $chan :L'auto Voice a été désactivé, &nick."
      }
   }
}
 
proc chan:vsjoin {nick uhost hand chan} {
   if {[channel get $chan avs]} {
             putquick "MODE $chan +v $nick"
   }
}
 
 
 
 
catch {bind pub - !p channel:pro}
setudef flag pro
 
proc channel:pro {nick uhost hand chan arg} {
   if { ![isop $nick $chan] } { return 0; }
   switch -exact -- $arg {
      "on" {
         channel set $chan +pro
         channel set $chan -avs
         putserv "PRIVMSG $chan :Le chan est dorénavant protégé, &nick."
          putserv "MODE $chan +mD"
      }
      "off" {
         channel set $chan -pro
         putserv "PRIVMSG $chan :Le chan n'est dorénavant plus protégé, &nick."
         putserv "MODE $chan -mD"
      }
   }
}


Répondre Avertir
#12
Oui.
Par contre, je vois du "&nick" dans tes messages, ça ne serait pas plutôt $nick ?
Répondre
#13
J'ai corrigé ça dans le script, j'ai oublié de le faire ici, mais oui tu as raison, c'est bien $ au lieu de &.


Encore une autre fois, merci merci merci et merci Smile Vous gérez la fougère !
Répondre Avertir
#14
Salut,

Je vais être chiant..
Mais votre façon de faire je trouve sa pas super..

Admettons ont op une personne sur le salon elle pourra se servir de la commande.
Or il et plutôt préférable de faire par système de flag.. Moi je ferait avec les flags Après sa ne tien qu'à moi
Répondre Avertir
#15
Oui, mais le chan où je suis n'a d'OP que les personnes qui stream dessus, ainsi que deux personnes. Donc, ceux qui sont apte à gérer le chan. Mais, personnellement, je préfère quelqu'un qui n'a pas de controle sur le bot mais peut protéger le chan que quelqu'un qui a un controle sur le bot, tout simplement. M'voyez ?
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté