· 6 years ago · Apr 13, 2019, 06:20 AM
1ON *:JOIN:#: {
2 if ($me == $nick) {
3 ; Nota: necesita algo para ignorar canales como debug y tal
4 mysql_exec %database_ircservices CREATE TABLE IF NOT EXISTS $+($m.sqle($MYSQL_TABLE_PREFIX $+ canales)) ( $&
5 id_canales INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, $&
6 network VARCHAR(70) NOT NULL UNIQUE, $&
7 canal VARCHAR(100) NOT NULL UNIQUE, $&
8 nick VARCHAR(50) NOT NULL UNIQUE, $&
9 text_lineas INT(100) NOT NULL, $&
10 text_linea VARCHAR(250) NOT NULL $&
11 )
12 }
13 ON !*:JOIN:#: {
14 var %table = $+($MYSQL_TABLE_PREFIX,canales)
15 if ($dbGet(%table,network = $mysql_qt($mysql_escape_string($network))) AND chan = $mysql_qt($mysql_escape_string($chan))) AND nick = $mysql_qt($mysql_escape_string($nick)))) {
16 if (!$dbResults) {
17 if (!$dbInsert(%table,$+(network,$chr(9),chan,$chr(9),nick,$chr(9),text_lineas,$chr(9),text_linea),$+($network,$chr(9),$chan,$chr(9),$nick,$chr(9),0,$chr(9),$mysql_qt($null)))) {
18 error Could not add nick to table
19 }
20 }
21 }
22 }
23}
24on *:text:*:#: {
25 tokenize 32 $strip($1-,burcmo)
26 var %table = $+($MYSQL_TABLE_PREFIX,canales)
27 if ($dbGet(%table,network = $mysql_qt($mysql_escape_string($network))) AND chan = $mysql_qt($mysql_escape_string($chan))) AND nick = $mysql_qt($mysql_escape_string($nick)))) {
28 if (!$dbResults) {
29 if (!$dbInsert(%table,$+(network,chan,$chr(9),nick,$chr(9),text_lineas,$chr(9),text_linea),$+($network,$chr(9),$chan,$chr(9),$nick,$chr(9),0,$chr(9),$mysql_qt($null)))) {
30 error Could not add nick to table
31 }
32 }
33 }
34 else {
35 var %data = text_lineas
36 var %values = $calc($hget(db_results,text_lineas) + 1)
37
38 if ($rand(1,10) == 1) {
39 %data = $+(%data,$chr(9),text_linea)
40 %values = $+(%values,$chr(9),$mysql_qt($mysql_escape_string($1-)))
41 }
42
43 if (!$dbUpdate(%table,%data,%values, network = $mysql_qt($mysql_escape_string($network)) AND chan = $mysql_qt($mysql_escape_string($chan)) AND nick = $mysql_qt($mysql_escape_string($nick)))) {
44 error Could not update nick to table
45 }
46 }
47}
48else { error Could not get data from %table of nick }
49
50if ($comandos(lineas) == $1) {
51 var %nick = $null
52
53 if ($2 != $null) {
54 if ($hasPermission($nick).admin) { %nick = $2 }
55 }
56 else { %nick = $nick }
57
58 if (%nick != $null) {
59 if ($dbGet(%table, network = $mysql_qt($mysql_escape_string($network)) AND chan = $mysql_qt($mysql_escape_string($chan)) AND nick = $mysql_qt($mysql_escape_string(%nick)))) {
60 if ($dbResults) {
61 msg $chan $nick tiene $hget(db_results,text_lineas) lÃneas una de sus ultimas frases: $hget(db_results,text_linea)
62 }
63 else {
64 if ($2 == $null) { error Could not find nick on table }
65 else { msg $chan $2 no encontrado }
66 }
67
68 }
69 }
70}
71elseif ($comandos(ranking) == $1) {
72 var %sql = SELECT * FROM %table WHERE network = $m.sqlq($network) AND canal = $m.sqlq($chan) ORDER BY text_lineas DESC LIMIT 5
73 if ($mysql_query(%database_ircservices,%sql)) {
74 var %res = $v1
75 var %n = 1
76 var %msg = $null
77
78 while ($mysql_fetch_row(%res,row,$MYSQL_ASSOC)) {
79 %msg = %msg Posicion $colorize(&warning;,%n) es $colorize(&primary;,$simpleDecode($hget(row,nick))) con $colorize(&primary;,$hget(row,text_lineas)) lineas.
80 inc %n
81 }
82 mysql_free %res
83
84 if (%msg != $null) msg $chan [ [ %msg ] ]
85 }
86}