egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Memo System Problem....

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    egghelp.org community Forum Index -> Archive
View previous topic :: View next topic  
Author Message
sorgente
Guest





PostPosted: Sat Oct 11, 2003 3:15 pm    Post subject: Memo System Problem.... Reply with quote

Code:
set memo_userfile "scripts/memo.userfile"
set memo_msgfile "scripts/memo.messages"
set memo_botsname "botnick"

bind join - * eggmemo_checkmsg
proc eggmemo_checkmsg {nick host hand channel} {
    global memo_msgfile
    global memo_botsname

    if {[get $nick $memo_msgfile]!=""} {
   putserv "NOTICE $nick :Sie haben neue Nachrichten"
   putserv "NOTICE $nick :/msg $memo_botsname .get <password>"
    }
}

bind msgm - ".new*" eggmemo_new
proc eggmemo_new {nick host hand text} {
    # new mailbox
    global memo_userfile

    set password [lindex $text 1]
    if {$password==""} {
   putserv "NOTICE $nick : No password given";
    } else {
   if {[get $nick $memo_userfile] == ""} {
       add $nick $password $memo_userfile
   } else {
       putserv "NOTICE $nick : Ihre Mailbox ist bereits vorhanden!"
   }
    }
}

bind msgm - ".get*" eggmemo_get
proc eggmemo_get {nick host hand text} {
    # get yer own messages
    global memo_msgfile
    global memo_userfile
    global memo_botsname

    set password [lindex $text 2]
    set getnick [lindex $text 1]

    if {$password == ""} {
   set password [lindex $text 1]
   set getnick $nick
    }

    if {[get $getnick $memo_userfile]==""} {
   putserv "NOTICE $nick :Sie haben keine Mailbox eingerichtet!"
   putserv "NOTICE $nick :/msg $memo_botsname .new <password> command zum installieren"
    }

    if {[get $getnick $memo_userfile]!=$password} {
   putserv "NOTICE $nick : Invalid password"
    } else {
   set message [get $getnick $memo_msgfile]
   if {$message == "" } {
       putserv "NOTICE $nick : Sie haben keine neue Nachrichten"
   } else {
       putserv "NOTICE $nick : $message"
       remove $getnick $memo_msgfile
       set message [get $getnick $memo_msgfile]
       while {$message != ""} {
      putserv "NOTICE $nick : $message"
      remove $getnick $memo_msgfile
       }
   }
    }
}

bind msg - .memohelp eggmemo_help
proc eggmemo_help {nick host hand text} {
    global memo_botsname

    set dest $nick

    putserv "NOTICE $dest :MemoScript by #Easy.bnc <apex>";
    putserv "NOTICE $dest :/msg $memo_botsname .send <nick> <message> to send a message"
}

bind msg - .send eggmemo_send
proc eggmemo_send {nick host hand text} {
    global memo_msgfile
    global memo_userfile

    # send a message
    set recipient [lindex $text 0]
    set message "$nick says: [lrange $text 1 end]"
    putserv "NOTICE $nick :Message sent"

    putlog "message to $recipient: $message"

    add $recipient $message $memo_msgfile
}


proc add {key value file} {
    exec "touch" $file

   
    set fh [open $file a+]
    puts $fh "$key => $value"
    close $fh
}

proc get {key file} {
    exec "touch" $file

    set fh [open $file r]
    set returnword {}
    while {![eof $fh]} {
   set stdin [string trim [gets $fh]]
   if {[eof $fh]} { break }
   set breaker [lsearch -exact $stdin "=>"]
   set getkey [lrange $stdin 0 [expr $breaker - 1]]
   set getresult [lrange $stdin [expr $breaker + 1] end]
   if {[string tolower $getkey] == [string tolower $key]} { set returnword $getresult }
    }
    close $fh
    return $returnword
}

proc remove {word file} {
    exec "touch" $file

    set fh [open $file r]
    set return {}
    set del 0
    while {![eof $fh]} {
   set stdin [string trim [gets $fh]]
   if {[eof $fh]} { break }
   if {![regexp -nocase $word $stdin]} {
       lappend return $stdin
   } {
       incr del 1
   }
    }
    close $fh;
    set fh [open $file w]
    foreach a $return {
   puts $fh $a
    }
    close $fh
    return $del
}


I have a little problem with these TCL script..
When a user wrote a sentence, then save the script this.
When another user ( ~5mins later ) which another sentence....
So Overwrite the Script the Last sentence in the memo.messages file...
And i don't know was the user write to me... Ohnly One Sentence was safed in the file and no more....

How Can i Change, that the Script safe all Sentences that post a user in a file with Date and Time...

so far.... thanks to help
Back to top
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    egghelp.org community Forum Index -> Archive All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber