Communauté Eggdrop
Saut de ligne - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Saut de ligne (/showthread.php?tid=913)

Pages : 1 2


Saut de ligne - NesCrex - 17/03/2011

yep je voudrai savoir c'est quoi le code pour que le bot fasse 2 ligne je m'exprime mal je sais :p donc voici ce que mon bot affiche :

<testmdrlol>!cekoibonjour
<bottrorfqs>Bonjour est bonjour.Bonjour est un mot

moi ce que je veux :

<testmdrlol>!cekoibonjour
<bottrorfqs>Bonjour est bonjour.
<bottrorfqs>Bonjour est un mot

Voila donc si vous avez un petit code en stock je suis preneur :p


RE: Saut de ligne - djkenny - 17/03/2011

salut,

tu mets 2 putserv tout simplement


RE: Saut de ligne - CrazyCat - 17/03/2011

Enfin, pour expliquer un peu plus, il faut que tu mettes un séparateur dans ta chaine réponse. Imaginons que tu utilises le #:
TCL
set resp "Bonjour est bonjour.#Bonjour est un mot"
 
bind pub - "!cekoibonjour" proc cekoi:bonjour
proc cekoi:bonjour {nick uhost handle chan args} {
   foreach line [split $::resp "#"] {
      putserv "PRIVMSG $chan :$line"
   }
}





RE: Saut de ligne - djkenny - 17/03/2011

pourquoi ajouter un "#" alors qu'il y a déjà un "." ?
autant spliter sur le "."


RE: Saut de ligne - CrazyCat - 18/03/2011

Parce que j'aime bien que le séparateur de ligne soit un caractère bien précis.
Tu fais comment si tu as une phrase du genre:
"Il y a les contents... Les mécontents... Et les autres."
Et que tu veux obtenir:
"Il y a les contents... Les mécontents..."
"Et les autres."


RE: Saut de ligne - NesCrex - 18/03/2011

Lol thx pour vos rep :p


RE: Saut de ligne - djkenny - 18/03/2011

CrazyCat a écrit :Parce que j'aime bien que le séparateur de ligne soit un caractère bien précis.
Tu fais comment si tu as une phrase du genre:
"Il y a les contents... Les mécontents... Et les autres."
Et que tu veux obtenir:
"Il y a les contents... Les mécontents..."
"Et les autres."

et si ta phrase contient un nom de salon? autant utiliser le caractère prévu pour ca "\n"


RE: Saut de ligne - CrazyCat - 18/03/2011

Tout à fait. Je n'ai donné le # que comme exemple, j'ai bien parlé de séparateur (au sens global) au départ.
Le souci du \n existe lorsque tu enregistres tes phrases dans un fichier, donc je le considère comme le moins pire, mais pas comme la solution miracle.


RE: Saut de ligne - NesCrex - 18/03/2011

Rebonjour,
le code de Crazycat marche t'il sur ce code que ma donner DJkenny ?

Code :
namespace eval speak {
   # variable contenant les mots à reconnaitre
   # on pourras utiliser des wildchar * ?
   variable bonjour {!test1 !test2}
   # variable contenant les réponses
   # on utilise %n pour pouvoir réécrire le pseudo plus tard
   variable reponse {"Ceci est le test 1" "Ceci est le test 2"}
}

bind pubm - * speak::bonjour

proc speak::bonjour {nick host hand chan text} {

   # on déclare les variable bonjour et réponse
   variable bonjour
   variable reponse

   # on debug le texte et on met tout en minuscules
   set text [stripcodes abcru $text]
   set text [string tolower $text]

   # on test si on trouve le texte dans la variable bonjour
   if {[lsearch $bonjour $text] != -1} {

      # on remplace %n par le pseudo
      set rep [string map [list %n $nick] $reponse]

      # on choisi une réponse aléatoire
      set index [rand [llength $rep]]
      set rep [lindex $rep $index]

      # on envoi la réponse choisie
      putserv "PRIVMSG $chan :$rep"

   # on ferme les \} qu on a ouvert plus haut
   }
}



RE: Saut de ligne - djkenny - 18/03/2011

CrazyCat a écrit :Tout à fait. Je n'ai donné le # que comme exemple, j'ai bien parlé de séparateur (au sens global) au départ.
Le souci du \n existe lorsque tu enregistres tes phrases dans un fichier, donc je le considère comme le moins pire, mais pas comme la solution miracle.

tu peux parfaitement spliter tes lignes avec \n
genre set ligne "1ere ligne\n2eme ligne\n3eme ligne...."
edit: ou encore
set ligne "1ere ligne
2eme ligne
3eme ligne"

@NesCrex: tu peux préciser ce que tu veux faire ?


RE: Saut de ligne - NesCrex - 18/03/2011

Je fais faire genre =

<moi>!infoa
<bot> a est la 1er lettre de l’alphabet
<bot> b est la lettre suivante

<moi>!infob
<bot> b est la 2eme lettre de l'alphabet
<bot> c est la lettre suivante


RE: Saut de ligne - djkenny - 18/03/2011

c est pas un peux compliqué ?
pourquoi ne pas faire
!info a ou !info b
??


RE: Saut de ligne - NesCrex - 18/03/2011

bah wai si tu veux lol mais ca donne pas la solution a mon probleme xD


RE: Saut de ligne - djkenny - 18/03/2011

et si tu nous disais ce que tu veux exactement au lieu de tourner autour du pot

edit: j doute que tu veuille une commande qui te donne les lettres de l alphabet


RE: Saut de ligne - djkenny - 19/03/2011

mais quesqu'y faut pas lire des fois :/