-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaxeircbot.poollist.tcl
executable file
·95 lines (87 loc) · 3.33 KB
/
axeircbot.poollist.tcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/tclsh
# Poollist command for axeircbot
package require mysqltcl
set axeircbot_poollist_subversion "1.8"
set axeircbot_poollist_script [file tail [ dict get [ info frame [ info frame ] ] file ]]
putlog "++ $::axeircbot_poollist_script v$axeircbot_poollist_subversion loading..."
proc do_poollist_aux {header data} {
set ircline ""
set irclines []
foreach line $data {
set irclinelen [string length $ircline]
if {$line != ""} {
set info [split $line " "]
lassign $info username url type miningfee wdmin wdfeeauto wdfeeman
set newentry "( $url \[$type/$miningfee\] Withdraw >=$wdmin fees auto=$wdfeeauto man=$wdfeeman )"
set newentrylen [string length $newentry]
set totallen [expr $newentrylen+$irclinelen]
if {$irclinelen == 0} {
set ircline ""
} elseif {$totallen > $::axeircbot_msglenlimit} {
lappend irclines "$ircline"
set ircline ""
} else {
set ircline "$ircline|"
}
set ircline "$ircline$newentry"
}
}
if {[string length $ircline] > 0} {
lappend irclines "$ircline"
}
set irclinescount [llength $irclines]
if {$irclinescount > 0} {
putlog "axeircbot v$::axeircbot_version ($::axeircbot_poollist_script v$::axeircbot_poollist_subversion) \[I\] [lindex [info level 0] 0] output $irclinescount line(s)"
set idxn 1
foreach line $irclines {
if {$irclinescount == 1} {
puthelp "$header POOLS $line"
} else {
puthelp "$header POOLS \[$idxn/$irclinescount\] $line"
}
incr idxn
}
}
}
proc do_poollist {nick chan} {
putlog "axeircbot v$::axeircbot_version ($::axeircbot_poollist_script v$::axeircbot_poollist_subversion) \[I\] [lindex [info level 0] 0] from $nick in $chan"
if {[string tolower $nick] == "alit"} {
set header "PRIVMSG $nick :"
puthelp "PRIVMSG $chan :$nick: 8===3 ~� ( O )"
return
}
if {$chan == "PRIVATE"} {
set header "PRIVMSG $nick :"
} else {
set header "PRIVMSG $chan :$nick:"
}
if { [catch {set db [::mysql::connect -user $::axeircbot_mysqluser -password $::axeircbot_mysqlpass -db $::axeircbot_mysqldb]} errmsg] } {
putlog "axeircbot v$::axeircbot_version ($::axeircbot_poollist_script v$::axeircbot_poollist_subversion) \[E\] [lindex [info level 0] 0] $errmsg"
puthelp "$header Command temporary unavailable."
} else {
if { [catch {set data [::mysql::sel $db "SELECT ircnickowner, url, pooltype, fee, wdmin, wdautofee, wdmanfee FROM cmd_pools_list" -list]} errmsg] } {
putlog "axeircbot v$::axeircbot_version ($::axeircbot_poollist_script v$::axeircbot_poollist_subversion) \[E\] [lindex [info level 0] 0] $errmsg"
puthelp "$header Command temporary unavailable."
::mysql::close $db
} else {
::mysql::close $db
do_poollist_aux $header $data
}
}
}
# Bindings
proc pub:poollist {nick host handle chan {text ""}} {
do_poollist $nick $chan
}
proc msg:poollist {nick uhost handle text} {
do_poollist $nick "PRIVATE"
}
bind msg - !pool msg:poollist
bind pub - !pool pub:poollist
bind msg - !pools msg:poollist
bind pub - !pools pub:poollist
bind msg - !poollist msg:poollist
bind pub - !poollist pub:poollist
lappend axeircbot_command_fr { {!pool} {Poles de minage} }
lappend axeircbot_command_en { {!pool} {Mining pools} }
putlog "++ $::axeircbot_poollist_script v$axeircbot_poollist_subversion loaded!"