즐겨찾기 관리스크립트 이다.
제작한지 1년이 넘었지만 한번도 공개를 하지 않고 있다가
eggdrop 을 돌리던 서버가 갑자기 닫히면서 자료를 모두 날려먹는 바람에..
허탈한 마음에 있다가 이제는 계속 공개를 해야 겠다고 마음먹고 ㅋ
백업파일을 찾아서 어렵게 포스팅 한다.
#마누 체널에서 작동하던 최신 버젼은 아니지만 최신버젼에 가깝다.
eggdrop 을 작동시킬 수 있는 쉘을 누군가가 무상 제공해주신다면
직접 최신버젼으로 수정하여 다시 포스팅 하겠습니다.
- 2008.08.08
bind pub - !즐겨찾기추가 pub_favadd
bind pub - !즐추 pub_favadd
bind pub - !favadd pub_favadd
bind pub - !즐겨찾기 pub_favsearch
bind pub - !즐 pub_favsearch
bind pub - !fav pub_favsearch
bind pub - !즐겨찾기제거 pub_favremove
bind pub - !즐제 pub_favremove
bind pub - !favdel pub_favremove
proc pub_favadd {nick uhost hand chan arg} {
if {$arg==""} {
putquick "PRIVMSG $chan :Usage: !즐겨찾기추가 <name> <web address> or !즐추 or !favadd"
return 0
}
set data $arg
if {[string match *+* $data]} {
putquick "PRIVMSG $chan :- favorites website list : you can't use this character. \" \+ \""
return 0
}
set favfile "manu/favorites.dat"
set name [string trim [string range $arg 0 [string last " " $arg]]]
set address [string trim [string range $arg [string last " " $arg] end]]
regsub -all {http\:\/\/} $address "" address2
set favaddin [open $favfile r]
while {![eof $favaddin]} {
set rline [gets $favaddin]
set cmpname [string trim [string range $rline 0 [string first "+" $rline]] "+"]
if {[string compare [string tolower $name] [string tolower $cmpname]]==0} {
putquick "PRIVMSG $chan :- favorites website list : already have that name.. (\002$name\002)"
close $favaddin
return 1
}
}
close $favaddin
set favaddout [open $favfile a]
puts $favaddout "$name+$address2"
switch -regexp $address2 {
{^[Ff][Tt][Pp]\:\/\/} { putquick "PRIVMSG $chan :- favorites website list : \002$name\002 \( \037$address2\037 \) added completed." }
default { putquick "PRIVMSG $chan :- favorites website list : \002$name\002 \( \037http://$address2\037 \) added completed." }
}
close $favaddout
return 1
}
proc pub_favsearch {nick uhost hand chan arg} {
if {$arg==""} {
putquick "PRIVMSG $chan :Usage: !즐겨찾기 <name> or !즐 or !fav"
return 0
}
if {[isnumber [string range $arg [expr [string last " " $arg] + 1] end]]==1} {
set page [string range $arg [expr [string last " " $arg] + 1] end]
set arg [string trimright [string trimright $arg $page]]
} else {
set page 1
}
set item 10
set count 0
set favorites ""
set name [string tolower [string trim $arg]]
regsub -all { } $name "*" name
set favfile "manu/favorites.dat"
set favaddin [open $favfile r]
while {![eof $favaddin]} {
set rline [gets $favaddin]
set cmpname [string trim [string range $rline 0 [string first "+" $rline]] "+"]
set address [string trim [string range $rline [string first "+" $rline] end] "+"]
if {[string match *$name* [string tolower $cmpname]]} {
incr count
if {($count>=[ expr [ expr $item * [ expr $page - 1 ] ] + 1 ]) && ($count<=[ expr $item * $page ])} {
switch -regexp $address {
{^[Ff][Tt][Pp]\:\/\/} { append favorites "\003 \003 \003 \003 \003 \003 $count. $cmpname : \037$address\037\n" }
default { append favorites "\003 \003 \003 \003 \003 \003 $count. $cmpname : \037http://$address\037\n" }
}
}
}
}
close $favaddin
regsub -all {\*} $name " " name
if {!$count} {
putquick "PRIVMSG $chan :- favorites website list : I didn't found anything for $name"
return 1
} else {
putquick "PRIVMSG $chan :- favorites website list for \002$name\002 \($page\/[expr int([expr [expr [expr $count - 1] / $item ] + 1 ] )] Pages, Total $count result)"
foreach line [split $favorites \n] {
putquick "PRIVMSG $chan :$line"
}
}
}
proc pub_favremove {nick uhost hand chan arg} {
if {$arg==""} {
putquick "PRIVMSG $chan :Usage: !즐겨찾기제거 <name> or !즐제 or !favdel"
return 0
}
set favfile "manu/favorites.dat"
set favtemp "manu/.favtemp"
set delcount 0
set name [string trim $arg]
set favaddin [open $favfile r]
set favtempin [open $favtemp w]
while {![eof $favaddin]} {
set rline [gets $favaddin]
set cmpname [string trim [string range $rline 0 [string first "+" $rline]] "+"]
set address [string trim [string range $rline [string first "+" $rline] end] "+"]
if {[string compare [string tolower $name] [string tolower $cmpname]]==0} {
incr delcount
} else {
puts $favtempin "$cmpname+$address"
}
}
close $favaddin
close $favtempin
if {$delcount==0} {
putquick "PRIVMSG $chan :- favorites website list : can't remove item. \002$name\002 doesn't exist."
return 1
} else {
file copy -force $favtemp $favfile
file delete -force $favtemp
}
putquick "PRIVMSG $chan :- favorites website list : completed removing item. \002$name\002 does removed."
return 1
}
putlog "Loaded Manu's favorites manage scripts"