Advertisement
Guest User

Untitled

a guest
May 9th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. ##############################################
  2. ## ##
  3. ## The Baked Bits pre bot ##
  4. ## ##
  5. ##############################################
  6.  
  7. catch {unbind raw - PRIVMSG *raw:irc:msg}
  8. catch {unbind raw - PRIVMSG *raw:PRIVMSG}
  9. bind raw - PRIVMSG striprivmsg
  10. proc striprivmsg {f k a} {
  11. set a [stripcodes abcgru $a]
  12. *raw:irc:msg $f $k $a
  13. *raw:PRIVMSG $f $k $a
  14. }
  15.  
  16.  
  17. bind pub - \[PRE\] bb:pre
  18. bind pub - \[NUKE\] bb:nuke
  19. bind pub - \[DELPRE\] bb:nuke
  20. bind pub - \[UNNUKE\] bb:unnuke
  21. bind pub - \[MODNUKE\] bb:nuke
  22. bind pub - \[INFO\] bb:info
  23. bind pub - \[GENRE\] bb:genre
  24.  
  25. #######################
  26. #
  27. # mysql settings
  28. #
  29. ######################
  30. set db_host "localhost"
  31. set db_user "username"
  32. set db_pass "password"
  33. set db_db "mydomains"
  34. set db_table "predb"
  35.  
  36.  
  37. #######################
  38. #
  39. # set these the the channel and nick of the pre channel with releases announced in it
  40. #
  41. ######################
  42. set origpre "#pre"
  43. set origprenick "prebot"
  44.  
  45. load "/usr/lib/mysqltcl-3.05/libmysqltcl3.05.so"
  46. package require mysqltcl
  47.  
  48. proc bb:announcepre {type rls nick chan} {
  49. set now [clock seconds]
  50. global origprenick origpre db_host db_user db_pass db_db db_table
  51. if {$nick != $origprenick} {
  52. return
  53. }
  54.  
  55. set rls [string map { "\017" "" } [stripcodes bcruag $rls]]
  56.  
  57. # setup the db connection
  58. set pre_db [mysqlconnect -host $db_host -port 3306 -user $db_user -password $db_pass -db $db_db]
  59.  
  60. if {$type == "PRE"} {
  61. # put this in the predb
  62. set rlslist [split $rls " "]
  63. set section [mysqlescape $pre_db [lindex $rlslist 1]]
  64. set rlsname [mysqlescape $pre_db [lindex $rlslist 4]]
  65. set grp [split $rlsname "-"]
  66. set grpplace [llength $grp]
  67. set grpplace [expr {$grpplace-1}]
  68. set group [mysqlescape $pre_db [lindex $grp $grpplace]]
  69.  
  70. set query "INSERT INTO `$db_db`.`$db_table` (`section`, `rlsname`, `grp`, `ctime`) VALUES('$section', '$rlsname', '$group', NOW());"
  71.  
  72. ::mysql::query $pre_db $query
  73. ::mysql::endquery $pre_db
  74. }
  75.  
  76. if {$type == "NUKE"} {
  77. set rlslist [split $rls " "]
  78. set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
  79. set reason [mysqlescape $pre_db [lindex $rlslist 5]]
  80. set nukenet [mysqlescape $pre_db [lindex $rlslist 4]]
  81.  
  82. set nukenet [string map { "\[" "" } $nukenet]
  83. set nukenet [string map { "\]" "" } $nukenet]
  84.  
  85.  
  86. set query "UPDATE `$db_db`.`$db_table` SET `status` = '1', `nukereason` = '$reason', `nukenet` = '$nukenet' WHERE `$db_table`.`rlsname` = '$rlsname' LIMIT 1;"
  87. ::mysql::query $pre_db $query
  88. ::mysql::endquery $pre_db
  89. }
  90.  
  91. if {$type == "UNNUKE"} {
  92. set rlslist [split $rls " "]
  93. set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
  94. set reason [mysqlescape $pre_db [lindex $rlslist 5]]
  95. set nukenet [mysqlescape $pre_db [lindex $rlslist 4]]
  96. #set nukenet ""
  97.  
  98. set nukenet [string map { "\[" "" } $nukenet]
  99. set nukenet [string map { "\]" "" } $nukenet]
  100.  
  101. set query "UPDATE `$db_db`.`$db_table` SET `status` = '0', `nukereason` = '$reason', `nukenet`='$nukenet' WHERE `$db_table`.`rlsname` = '$rlsname' LIMIT 1;"
  102. ::mysql::query $pre_db $query
  103. ::mysql::endquery $pre_db
  104. }
  105.  
  106. if {$type == "INFO"} {
  107. set rlslist [split $rls " "]
  108. set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
  109. set size [mysqlescape $pre_db [lindex $rlslist 4]]
  110. set files [mysqlescape $pre_db [lindex $rlslist 7]]
  111.  
  112. set files [string map { "F" "" } $files]
  113. set size [string map { "MB" "" } $size]
  114.  
  115. set query "UPDATE `$db_db`.`$db_table` SET `$db_table`.`size` = '$size', `$db_table`.`files`='$files' WHERE `$db_table`.`rlsname`='$rlsname';"
  116. ::mysql::query $pre_db $query
  117. ::mysql::endquery $pre_db
  118. }
  119.  
  120. if {$type == "GENRE"} {
  121. set rlslist [split $rls " "]
  122. set rlsname [mysqlescape $pre_db [lindex $rlslist 1]]
  123. set genre [mysqlescape $pre_db [lindex $rlslist 4]]
  124.  
  125. set query "UPDATE `$db_db`.`$db_table` SET `$db_table`.`genre` = '$genre' WHERE `$db_table`.`rlsname`='$rlsname';"
  126. ::mysql::query $pre_db $query
  127. ::mysql::endquery $pre_db
  128.  
  129. }
  130.  
  131.  
  132. ::mysql::endquery $pre_db
  133. ::mysql::close $pre_db
  134. }
  135.  
  136. proc bb:nuke {nick uhost handle chan nuke} {
  137. bb:announcepre "NUKE" $nuke $nick $chan
  138. }
  139.  
  140. proc bb:pre {nick uhost handle chan rls} {
  141. bb:announcepre "PRE" $rls $nick $chan
  142. }
  143.  
  144. proc bb:info {nick uhost handle chan rls} {
  145. bb:announcepre "INFO" $rls $nick $chan
  146. }
  147.  
  148. proc bb:genre {nick uhost handle chan rls} {
  149. bb:announcepre "GENRE" $rls $nick $chan
  150. }
  151.  
  152. proc bb:unnuke {nick uhost handle chan unnuke} {
  153. bb:announcepre "UNNUKE" $unnuke $nick $chan
  154. }
  155.  
  156. putlog "BakedBits Pre plugin loaded"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement