Auto phrase reponse ( pour bot )

Contenu du snippet

Ben voila un auto phrase reponse :
ben c un dialog ou tu peux ajouter par exemple tu met ta phrase : "salut" la phrase du bot "salut !!" et quand kelk'1 dit salut ben le bot di salut !!
Le prob ki est chiant c'est kil apcept pas $nick donc j'pense pas kil apcept les $read , .. etc

Bon voila ossi vous devez avoir mdx et le mettre dans le repertoire du bot c dans systeme ex: c:/mon bot/systeme/mdx.dll

avec view.dll ki est avec :]

Source / Exemple :


on *:text:*:#:{
  var %textrecu = $correction($1-)
}

alias correction {
  var %textrecu = $1-
  var %i = 1
  while %i <= $numtok(%textrecu,44) {
    var %text.temp = $gettok(%textrecu,%i,44)
    var %ii = 1
    while %ii <= $numtok($readini systeme/correct.ini Correction token1,44) {
      var %temp1 = $gettok($readini systeme/correct.ini Correction token1,%ii,44)
      var %temp2 = $gettok($readini systeme/correct.ini Correction token2,%ii,44)
      if %temp1 == %text.temp { var %textrecu = $replace(%textrecu,%text.temp,%temp2) }
      inc %ii
      if ( %temp2 == %textrecu ) {
        //msg $chan %temp1
      }
    }
    inc %i
  }
  return %textrecu
}

alias autof { $opens(autof) }
alias mdx_fullpath { return $+(",$mircdir $+ \systeme\mdx.dll,") }

alias mdx { dll $mdx_fullpath $1- }

alias mdxinit {
  dll $mdx_fullpath SetMircVersion $version
  dll $mdx_fullpath MarkDialog $dname
}

dialog autof {
  size -1 -1 300 204
  title "Auto-Phrase Bot"
  button "Ajouter",1,5 134 93 30, flat 
  button "Supprimmer",2,200 135 94 30, flat 
  button "Oki",3,120 135 60 30,ok cancel flat
  list 4,8 7 289 120,extsel size
  button "",1000,0 0 0 0,ok hide
}

on *:dialog:autof:init:0:{
  mdxinit
  mdx SetControlMDX $dname 4 listview nosortheader rowselect showsel single flatsb headerdrag labeltip report > $mircdir $+ \systeme\views.mdx
  did -i $dname 4 1 headerdims 150 133
  did -i $dname 4 1 headertext Sa phrase $chr(9) Votre phrase
  autofinit
}

on *:dialog:autof:sclick:*:{
  if ( $did == 1 ) { dialog -m ajout ajout }
  elseif ( $did == 3 ) { dialog -x autof autof }
  elseif ( $did == 2 ) {
    if $did(4).sel {
      var %licor = $calc($did(4).sel - 1)
      set %texte1 $gettok($readini systeme/correct.ini Correction token1,%licor,44)
      set %texte2 $gettok($readini systeme/correct.ini Correction token2,%licor,44)
      var %tempe1 = $remtok($readini systeme/correct.ini Correction token1,%texte1,1,44) 
      var %tempe2 = $remtok($readini systeme/correct.ini Correction token2,%texte2,1,44) 
      writeini systeme/correct.ini Correction token1 %tempe1 $+ ,
      writeini systeme/correct.ini Correction token2 %tempe2 $+ ,
      autofinit
    } 
    Else { var %erreurr = $input(Selectionne une ligne !,300,Avertissement) }
  }
}

alias autofinit {
  var %lollol = 1
  did -r autof 4
  while %lollol <= $numtok($readini systeme/correct.ini Correction token1,44) {
    var %temp1 = $gettok($readini systeme/correct.ini Correction token1,%lollol,44)
    var %temp2 = $gettok($readini systeme/correct.ini Correction token2,%lollol,44)
    did -a autof 4 $tab(%temp1,%temp2)
    inc %lollol
  }
}

alias tab {
  if (!$1) return $chr(9) | var %t,%w = 1
  while ($($+($,%w),4)) { %t = $instok(%t,$($+($,%w),4),0,9) | inc %w }
  return %t
}

dialog Ajout {
  size -1 -1 129 131
  title "Ajouter phrase"
  text "Phrase du bot",1,23 8 82 17
  text "Votre phrase",2,21 56 78 17
  button "Valider",3,32 106 60 19, cancel  ok  flat 
  edit "",4,10 30 104 22
  edit "",5,11 75 104 22
}
on *:dialog:Ajout:init:*:{
  mdxinit
}
on *:dialog:ajout:sclick:3:{
  if $did(4) == $null || $did(5) == $null { var %erreurr = $input(Tu doit remplir les champs de texte !,300,Avertissement) | halt }
  if $chr(44) isin $did(4) || $chr(44) isin $did(5) { var %erreurr = $input(Ne m'est pas de virgule !,300,Avertissement) | halt } 
  Else {
    var %textcorec1 = $did(4)
    var %textcorec2 = $did(5)
    var %lollol = 1
    while %lollol <= $numtok($readini systeme/correct.ini Correction token1,44) {
      var %temp1 = $gettok($readini systeme/correct.ini Correction token1,%lollol,44)
      var %temp2 = $gettok($readini systeme/correct.ini Correction token2,%lollol,44)
      if %temp1 == %textcorec1 { var %erreurr = $input(phrase déja entrer !,300,Avertissement) | halt }
      if %temp2 == %textcorec2 { var %erreurr = $input(phrase déja entrer !,300,Avertissement) | halt }
      inc %lollol
    }
    if $readini systeme/correct.ini Correction token1 != $null { writeini systeme/correct.ini Correction token1 $readini systeme/correct.ini Correction token1 $+ %textcorec1 $+ , | writeini systeme/correct.ini Correction token2 $readini systeme/correct.ini Correction token2 $+ %textcorec2 $+ , }
    Else { writeini systeme/correct.ini Correction token1 %textcorec1 $+ , | writeini systeme/correct.ini Correction token2 %textcorec2 $+ , }
  }
  autofinit
}

Conclusion :


Voila pour le ouvrir faite /dialog -m autof autof

Merci de vos commentaire :]

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.