Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##############################################
- ## ##
- ## The Baked Bits pre bot ##
- ## ##
- ##############################################
- catch {unbind raw - PRIVMSG *raw:irc:msg}
- catch {unbind raw - PRIVMSG *raw:PRIVMSG}
- bind raw - PRIVMSG striprivmsg
- proc striprivmsg {f k a} {
- set a [stripcodes abcgru $a]
- *raw:irc:msg $f $k $a
- *raw:PRIVMSG $f $k $a
- }
- bind pub - \[PRE\] bb:pre
- bind pub - \[NUKE\] bb:nuke
- bind pub - \[DELPRE\] bb:nuke
- bind pub - \[UNNUKE\] bb:unnuke
- bind pub - \[MODNUKE\] bb:nuke
- bind pub - \[INFO\] bb:info
- bind pub - \[GENRE\] bb:genre
- #######################
- #
- # mysql settings
- #
- ######################
- set db_host "localhost"
- set db_user "username"
- set db_pass "password"
- set db_db "mydomains"
- set db_table "predb"
- #######################
- #
- # set these the the channel and nick of the pre channel with releases announced in it
- #
- ######################
- set origpre "#pre"
- set origprenick "prebot"
- load "/usr/lib/mysqltcl-3.05/libmysqltcl3.05.so"
- package require mysqltcl
- proc bb:announcepre {type rls nick chan} {
- set now [clock seconds]
- global origprenick origpre db_host db_user db_pass db_db db_table
- if {$nick != $origprenick} {
- return
- }
- set rls [string map { "\017" "" } [stripcodes bcruag $rls]]
- # setup the db connection
- set pre_db [mysqlconnect -host $db_host -port 3306 -user $db_user -password $db_pass -db $db_db]
- if {$type == "PRE"} {
- # put this in the predb
- set rlslist [split $rls " "]
- set section [mysqlescape $pre_db [lindex $rlslist 1]]
- set rlsname [mysqlescape $pre_db [lindex $rlslist 4]]
- set grp [split $rlsname "-"]
- set grpplace [llength $grp]
- set grpplace [expr {$grpplace-1}]
- set group [mysqlescape $pre_db [lindex $grp $grpplace]]
- set query "INSERT INTO `$db_db`.`$db_table` (`section`, `rlsname`, `grp`, `ctime`) VALUES('$section', '$rlsname', '$group', NOW());"
- ::mysql::query $pre_db $query
- ::mysql::endquery $pre_db
- }
- if {$type == "NUKE"} {
- set rlslist [split $rls " "]
- set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
- set reason [mysqlescape $pre_db [lindex $rlslist 5]]
- set nukenet [mysqlescape $pre_db [lindex $rlslist 4]]
- set nukenet [string map { "\[" "" } $nukenet]
- set nukenet [string map { "\]" "" } $nukenet]
- set query "UPDATE `$db_db`.`$db_table` SET `status` = '1', `nukereason` = '$reason', `nukenet` = '$nukenet' WHERE `$db_table`.`rlsname` = '$rlsname' LIMIT 1;"
- ::mysql::query $pre_db $query
- ::mysql::endquery $pre_db
- }
- if {$type == "UNNUKE"} {
- set rlslist [split $rls " "]
- set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
- set reason [mysqlescape $pre_db [lindex $rlslist 5]]
- set nukenet [mysqlescape $pre_db [lindex $rlslist 4]]
- #set nukenet ""
- set nukenet [string map { "\[" "" } $nukenet]
- set nukenet [string map { "\]" "" } $nukenet]
- set query "UPDATE `$db_db`.`$db_table` SET `status` = '0', `nukereason` = '$reason', `nukenet`='$nukenet' WHERE `$db_table`.`rlsname` = '$rlsname' LIMIT 1;"
- ::mysql::query $pre_db $query
- ::mysql::endquery $pre_db
- }
- if {$type == "INFO"} {
- set rlslist [split $rls " "]
- set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
- set size [mysqlescape $pre_db [lindex $rlslist 4]]
- set files [mysqlescape $pre_db [lindex $rlslist 7]]
- set files [string map { "F" "" } $files]
- set size [string map { "MB" "" } $size]
- set query "UPDATE `$db_db`.`$db_table` SET `$db_table`.`size` = '$size', `$db_table`.`files`='$files' WHERE `$db_table`.`rlsname`='$rlsname';"
- ::mysql::query $pre_db $query
- ::mysql::endquery $pre_db
- }
- if {$type == "GENRE"} {
- set rlslist [split $rls " "]
- set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
- set genre [mysqlescape $pre_db [lindex $rlslist 4]]
- set query "UPDATE `$db_db`.`$db_table` SET `$db_table`.`genre` = '$genre' WHERE `$db_table`.`rlsname`='$rlsname';"
- ::mysql::query $pre_db $query
- ::mysql::endquery $pre_db
- }
- ::mysql::endquery $pre_db
- ::mysql::close $pre_db
- }
- proc bb:nuke {nick uhost handle chan nuke} {
- bb:announcepre "NUKE" $nuke $nick $chan
- }
- proc bb:pre {nick uhost handle chan rls} {
- bb:announcepre "PRE" $rls $nick $chan
- }
- proc bb:info {nick uhost handle chan rls} {
- bb:announcepre "INFO" $rls $nick $chan
- }
- proc bb:genre {nick uhost handle chan rls} {
- bb:announcepre "GENRE" $rls $nick $chan
- }
- proc bb:unnuke {nick uhost handle chan unnuke} {
- bb:announcepre "UNNUKE" $unnuke $nick $chan
- }
- putlog "BakedBits Pre plugin loaded"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement