Je voulais savoir si il etait possible d'avoir un tcl qui permettrais de laisser un message à un utilisateur qui a un certain flag et que le bot lui dise qu'il a un message quand cette personne arrive sur le salon precis avec une commande !message, !lire, !effacer ???
J'ai trouvé le tcl message delivery system mais je pense qu'il faut avoir un server perso avec nickserv ou un truc du genre.
Non MDS ne dépend pas forcement de service.
De plus si tu regarde bien la configuration très doucement tu verra que tu peux très bien modifié les flag
Exemple : pour envoyer lire etc... tu peut très bien mettre o|o donc Opérateur globaux/Opérateur salon.
Oui j'ai vu les flags apparement ca fonctionnes bien sauf pour les pseudos non enregistré sur le bot.
Par exemple, brutus n'est pas sur le bot, quand je tape !msg brutus blablabla, ca me dit message pour brutus accepté.
J'ai modifié la ligne
Code :
# autorisations nécessaires pour pouvoir recevoir un message
variable receivemsg_auth "o|o"
Donc brutus ne recoit pas de notice comme quoi il a un message en attente, mais le message a quand meme été enregistré lool.
Je ne vois pas comment faire pour que quand je tape !msg pseudo texte, ca aille verifier si le pseudo est bien dans la liste et que si il n'y est pas, que ca n'enregistre donc pas le message et que ca dise pseudo non enregistré par exemple.
Heu faut regardez dans la configuration ou le code si ya pas un endroit ou il et mis que pour ajouter un message faut que la personne soit dans la listes des handles.
Sinon essayé de rajouter une proc/modifié la proc existant pour que sa fasse ça.
if{[matchattr $nick Z]}{ puthelp "$MDS::delivery_mode $nick :\003[set MDS::num_sec_color]Le pseudo demandé n'est pas enregistré"}
dans la partie
tcl
###### Un utilisateur veut envoyer un message###proc MDS::pub_sendmsg{nick host hand chan arg}{if{(![channel get $chan MDS]) || (($MDS::antiflood == 1)&&([MDS::antiflood[MDS::clean_data$chan]$hand"msg"]))}{return}if{$MDS::DEBUGMODE}{ putlog "\00304\[$MDS::scriptname - DEBUG\]\003 pub_sendmsg : $nick \00307|\003 $host \00307|\003 $hand \00307|\003 $chan \00307|\003 $arg"}
MDS::check_identity$nick$host$hand$chan"pub""send"$arg}proc MDS::priv_sendmsg{nick host hand arg}{if{(($MDS::antiflood == 1)&&([MDS::antiflood[MDS::clean_data$nick]$hand"msg"]))}{return}if{![onchan $nick]}{
puthelp "$MDS::delivery_mode $nick :\003[set MDS::num_sec_color]Vous devez vous trouver sur un chan où $::botnick est présent pour utiliser la messagerie.\003"return}if{$MDS::DEBUGMODE}{ putlog "\00304\[$MDS::scriptname - DEBUG\]\003 priv_sendmsg : $nick \00307|\003 $host \00307|\003 $hand \00307|\003 $arg"}
MDS::check_identity$nick$host$hand$nick"priv""send"$arg}
J'ai aussi mis $hand à la place de $nick mais apparement ca verifie juste l'expediteur de la commande pas le destinataire. Je trouve pas comment faire pour que ca verifie que le pseudo tapé soit bien dans la liste du bot.
###### Un utilisateur veut envoyer un message###proc MDS::pub_sendmsg{nick host hand chan arg}{if{(![channel get $chan MDS]) || (($MDS::antiflood == 1)&&([MDS::antiflood[MDS::clean_data$chan]"msg"]))}{return}if{![matchattr $nick Z]}{ puthelp "$MDS::delivery_mode $nick :\003[set MDS::num_sec_color] Le pseudo demandé n'est pas enregistré"}if{$MDS::DEBUGMODE}{ putlog "\00304\[$MDS::scriptname - DEBUG\]\003 pub_sendmsg : $nick \00307|\003 $host \00307|\003 $hand \00307|\003 $chan \00307|\003 $arg"}
MDS::check_identity$nick$host$hand$chan"pub""send"$arg}
Voilà ce que ceci donne :
Citation :[09:49:06] (+alias_angelius|alias_angelius) !msg
[09:49:06] [Privé] Identifia (Identifia@49107090.com)
[09:49:08] (@Identifia) Syntaxe : !msg <destinataire>[,destinataire,...] <message> | Envoie un message à quelqu'un. Le message lui sera délivré dès qu'il manifestera sa présence sur un chan où se trouve Identifia, c'est à dire dès qu'on sera certain d'avoir toute son attention.
Le Privé :
Citation :[09:49:06] (Identifia) Le pseudo demandé n'est pas enregistré
alias_angelius a écrit :Bon voilà après avoir tester 5 minutes :
tcl
###### Un utilisateur veut envoyer un message###proc MDS::pub_sendmsg{nick host hand chan arg}{if{(![channel get $chan MDS]) || (($MDS::antiflood == 1)&&([MDS::antiflood[MDS::clean_data$chan]"msg"]))}{return}if{![matchattr $nick Z]}{ puthelp "$MDS::delivery_mode $nick :\003[set MDS::num_sec_color] Le pseudo demandé n'est pas enregistré"}if{$MDS::DEBUGMODE}{ putlog "\00304\[$MDS::scriptname - DEBUG\]\003 pub_sendmsg : $nick \00307|\003 $host \00307|\003 $hand \00307|\003 $chan \00307|\003 $arg"}
MDS::check_identity$nick$host$hand$chan"pub""send"$arg}
Voilà ce que ceci donne :
Citation :[09:49:06] (+alias_angelius|alias_angelius) !msg
[09:49:06] [Privé] Identifia (Identifia@49107090.com)
[09:49:08] (@Identifia) Syntaxe : !msg <destinataire>[,destinataire,...] <message> | Envoie un message à quelqu'un. Le message lui sera délivré dès qu'il manifestera sa présence sur un chan où se trouve Identifia, c'est à dire dès qu'on sera certain d'avoir toute son attention.
Le Privé :
Citation :[09:49:06] (Identifia) Le pseudo demandé n'est pas enregistré
Là c'est si toi tu tapes la commande et que tu as un flag Z que ca te reponds ca ??