Also ich muss da etwas weiter ausholen.
Ich will meinem irc Eggdrop ein wenig Leben einhauchen und habe mir bei
www.pandorrabots.com einen Chatbot angelegt. Mithilfe von einem tcl- und einem Ruby script ist es nun möglich den Eggdrop diesen Bot benutzen zu lassen.
Das läuft im Prinzip auch alles. Nur hier kommt jetz mein Problem:
Das Ruby-Script legen auf dem Server wo der Eggdrop läuft eine Datei an, in dem er Cookies für die einzelnen Chatpartner speichert. So ist es ihm möglich, mehrere Sätze die in einem bestimmten Zeitraum zwischen ihm (dem bot) und dem user gewechselt wurden als zusammengehöriges gespräch zu sehen, und nicht als einzelne ,nicht zusammengehörige, Sätze.
Und genau hier harkts. Es werden zwar Cookies angelegt, allerdings für ein und denselben Chatpartner für jeden Satz den er an den Bot richtet ein neuer. Somit ist das natürlich total unsinnig. Ich habe mir den Code zwar auch schon angeschaut, aber dadurch das ich nie zuvor mit Ruby gearbeitet habe konnte ich keinen fehler festsstellen. Ich hoffe ihr könnt da was finden.
code:
http://www.d4nte.de/ruby/code.txt
cookie datei:
http://www.d4nte.de/ruby/nick_cookies.txt
tcl script das auf das ruby script zugreift:
http://www.d4nte.de/ruby/tcl.txt
Mitlerweile wurde herrausgefunden, dass man
cookie_nick = line.slice( /\S+ / )
if( cookie_nick == nick )
durch:
cookie_nick = line.split(" ")
cookie_nick = cookie_nick[0]
if( cookie_nick == nick )
ersetzen kann.
Damit wird zwar nu ein Cookie angelegt, aber nun schreibt der Bot immer die ganze bisherige Konversation in den Channel. Es liegt also ein Fehler beim auslesen der Seite vor. Ich will natürlich das der Bot nur das sagt, was als letztes von dem pPndorrabot gesagt wurde.
hierzu könnte das aussehen der seite aus der ausgelesen wird wichtig sein
pandorrabot:
http://www.pandorabots.com/pandora/talk ... 608e34e7f7
Außerdem scheint es so zu sein, dass er mit dieser Lösung den selben Cookie für alle User benutzt. Da bin ich mir allerdings noch nicht 100%ig sicher.
hoffe mir kann wer helfen.