psql.. REEEEE
This commit is contained in:
parent
a33b4ad92b
commit
d91d886fc6
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -2,4 +2,5 @@ cfg/
|
|||
node_modules/
|
||||
dist/
|
||||
.vscode/
|
||||
logs/
|
||||
logs/
|
||||
package-lock.json
|
|
@ -14,7 +14,7 @@
|
|||
"dependencies": {
|
||||
"jsdom": "^11.4.0",
|
||||
"node-telegram-bot-api": "^0.29.0",
|
||||
"nodejs-mysql": "github:flummi/nodejs-mysql",
|
||||
"pg-promise": "^7.3.2",
|
||||
"request": "^2.83.0",
|
||||
"request-promise": "^4.2.2",
|
||||
"stringify-object": "^3.2.1",
|
||||
|
|
|
@ -49,6 +49,9 @@ read().then(() => {
|
|||
bot.on("ctcp:version", e => {
|
||||
e.write(`notice ${e.user.nick} :\u0001VERSION Pimmel 2.1\u0001`);
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
function trigger(args) {
|
||||
|
|
|
@ -3,7 +3,7 @@ import sql from "./sql.js";
|
|||
export let admins = [];
|
||||
export const loadAdmins = () => {
|
||||
admins = [];
|
||||
sql.exec("select * from `admins`")
|
||||
sql.any(`select * from admins`)
|
||||
.then(rows => {
|
||||
rows.forEach(row => {
|
||||
admins.push({
|
||||
|
|
|
@ -8,31 +8,30 @@ let cfg = {
|
|||
};
|
||||
|
||||
const read = () => new Promise((resolve, reject) => {
|
||||
sql.exec("select * from `cfg`", (err, rows) => {
|
||||
if(err || rows.length < 1)
|
||||
reject({ error: "no cfg" });
|
||||
else {
|
||||
for (let row in rows) {
|
||||
cfg[rows[row].class][rows[row].key] = {
|
||||
val: ((type, value) => {
|
||||
switch (type) {
|
||||
case "string":
|
||||
return value;
|
||||
case "int":
|
||||
return parseInt(value);
|
||||
case "bool":
|
||||
return value === "true";
|
||||
case "json":
|
||||
return JSON.parse(value);
|
||||
}
|
||||
})(rows[row].type, rows[row].value),
|
||||
hidden: rows[row].hidden === 1,
|
||||
type: rows[row].type
|
||||
}
|
||||
sql.any("select * from cfg").then(rows => {
|
||||
for (let row in rows) {
|
||||
cfg[rows[row].class][rows[row].key] = {
|
||||
val: ((type, value) => {
|
||||
switch (type) {
|
||||
case "string":
|
||||
return value;
|
||||
case "int":
|
||||
return parseInt(value);
|
||||
case "bool":
|
||||
return value === "true";
|
||||
case "json":
|
||||
return JSON.parse(value);
|
||||
}
|
||||
})(rows[row].type, rows[row].value),
|
||||
hidden: rows[row].hidden === 1,
|
||||
type: rows[row].type
|
||||
}
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
resolve();
|
||||
})
|
||||
.catch(err => {
|
||||
reject("no cfg");
|
||||
})
|
||||
});
|
||||
|
||||
const write = (kat, key, value, type, cb) => {
|
||||
|
@ -40,10 +39,10 @@ const write = (kat, key, value, type, cb) => {
|
|||
value = JSON.stringify(value);
|
||||
|
||||
console.log(kat, key, value, type);
|
||||
sql.exec("select * from `cfg` where `class` = ? && `key` = ? limit 1", [kat, key], (err, rows) => {
|
||||
sql.any("select * from cfg where class = ? && key = ? limit 1", [kat, key], (err, rows) => {
|
||||
console.log(rows);
|
||||
if (rows.length > 0) {
|
||||
sql.exec("update `cfg` set `value` = ? where `class` = ? && `key` = ?", [value, kat, key], (err) => {
|
||||
sql.any("update cfg set value = ? where class = ? && key = ?", [value, kat, key], (err) => {
|
||||
console.log("updated", err);
|
||||
read().then(() => {
|
||||
if(cb) cb();
|
||||
|
@ -51,7 +50,7 @@ const write = (kat, key, value, type, cb) => {
|
|||
});
|
||||
}
|
||||
else {
|
||||
sql.exec("insert into `cfg` (`class`,`key`,`value`,`type`) values (?,?,?,?)", [kat, key, value, type], (err) => {
|
||||
sql.any("insert into cfg (class, key, value, type) values (?, ?, ?, ?)", [kat, key, value, type], (err) => {
|
||||
console.log("inserted", err);
|
||||
read().then(() => {
|
||||
if (cb) cb();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import mysql from "nodejs-mysql";
|
||||
|
||||
const sql = mysql.getInstance( require(`${__dirname}/../../cfg/mysql.json`) );
|
||||
const pgp = require("pg-promise")();
|
||||
const sql = pgp(require(`${__dirname}/../../cfg/sql.json`));
|
||||
//const sql = mysql.getInstance( require(`${__dirname}/../../cfg/mysql.json`) );
|
||||
export default sql;
|
|
@ -54,7 +54,7 @@ module.exports = bot => {
|
|||
const userlevel = getLevel(e.network, user).level;
|
||||
if(userlevel > 0) { // check if user is admin
|
||||
if(level <= 0) {
|
||||
sql.exec("delete from `admins` where `account` = lower(?) and `network` = lower(?)", [user.account, e.network])
|
||||
sql.any("delete from admins where account = lower(?) and network = lower(?)", [user.account, e.network])
|
||||
.then(rows => {
|
||||
loadAdmins();
|
||||
return e.reply(`deleted user ${user.nickname}`);
|
||||
|
@ -64,7 +64,7 @@ module.exports = bot => {
|
|||
})
|
||||
}
|
||||
else if(level !== userlevel) {
|
||||
sql.exec("update `admins` set `level` = ? where `account` = ? and `network` = ?", [level, user.account, e.network])
|
||||
sql.any("update admins set level = ? where account = ? and network = ?", [level, user.account, e.network])
|
||||
.then(rows => {
|
||||
loadAdmins();
|
||||
return e.reply(`changed user [b]${user.nickname}[/b] (${userlevel} -> ${level})`);
|
||||
|
@ -78,7 +78,7 @@ module.exports = bot => {
|
|||
}
|
||||
}
|
||||
else {
|
||||
sql.exec("insert into `admins` (`prefix`, `account`, `level`, `network`) values (lower(?), lower(?), ?, lower(?))", [user.prefix, user.account, level, e.network])
|
||||
sql.any("insert into admins (prefix, account, level, network) values (lower(?), lower(?), ?, lower(?))", [user.prefix, user.account, level, e.network])
|
||||
.then(rows => {
|
||||
loadAdmins();
|
||||
return e.reply(`added new user [b]${user.nickname}[/b] with level ${level}`);
|
||||
|
|
|
@ -6,39 +6,30 @@ const data = {
|
|||
};
|
||||
|
||||
Object.keys(data).forEach(cur => {
|
||||
sql.exec(`select \`data\` from \`useless\` where \`trigger\` = '${cur}' limit 1`, (err, row) => {
|
||||
data[cur] = JSON.parse(row[0].data);
|
||||
});
|
||||
sql.any("select data from useless where trigger = $1 limit 1", [cur])
|
||||
.then(rows => {
|
||||
data[cur] = JSON.parse(rows[0].data);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = bot => {
|
||||
bot._trigger.set("dope", new bot.trigger({
|
||||
call: /^(\.|\/)dope/i,
|
||||
f: e => {
|
||||
let args = e.message.trim().split(" ");
|
||||
args.shift();
|
||||
args[0] = (args[0] == String.empty || typeof args[0] === "undefined" || args[0] == "") ? e.user.nick : args[0];
|
||||
|
||||
const strain_types = Object.keys(data.dope_strains);
|
||||
const action_types = Object.keys(data.dope_actions);
|
||||
|
||||
const strain_type = strain_types[~~(Math.random() * strain_types.length)]
|
||||
, consume_type = action_types[~~(Math.random() * action_types.length)]
|
||||
, action = data.dope_actions[consume_type][~~(Math.random() * data.dope_actions[consume_type].length)]
|
||||
, strain = data.dope_strains[strain_type][~~(Math.random() * data.dope_strains[strain_type].length)];
|
||||
|
||||
e.replyAction(`${action[0]} a ${consume_type} of the finest ${strain_type} "${strain}" ${action[1]} [b]${args[0]}[/b]`);
|
||||
e.replyAction(`${action[0]} a ${consume_type} of the finest ${strain_type} "${strain}" ${action[1]} [b]${e.args[0] || e.user.nick}[/b]`);
|
||||
}
|
||||
}));
|
||||
|
||||
bot._trigger.set("meth", new bot.trigger({
|
||||
call: /^(\.|\/)meth/i,
|
||||
f: e => {
|
||||
let args = e.message.trim().split(" ");
|
||||
args.shift();
|
||||
args[0] = (args[0] == String.empty || typeof args[0] === "undefined" || args[0] == "") ? e.user.nick : args[0];
|
||||
|
||||
e.replyAction(`legt [b]${args[0]}[/b] eine dicke Line Meth \\________`);
|
||||
e.replyAction(`legt [b]${e.args[0] || e.user.nick}[/b] eine dicke Line Meth \\________`);
|
||||
}
|
||||
}));
|
||||
};
|
|
@ -8,7 +8,7 @@ module.exports = bot => {
|
|||
f: e => {
|
||||
const match = e.message.match(/.*(Mc\S+iaC?).*/)[0];
|
||||
console.log(match);
|
||||
sql.exec("insert into `mcmaniacs` (`item`) values (?)", [match])
|
||||
sql.any("insert into `mcmaniacs` (`item`) values (?)", [match])
|
||||
.then()
|
||||
.catch(err => {});
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ module.exports = bot => {
|
|||
query = query
|
||||
.split("{order}").join(order)
|
||||
.split("{offset}").join(offset);
|
||||
sql.exec(query)
|
||||
sql.any(query)
|
||||
.then(rows => {
|
||||
e.reply(`[${rows[0].id}/${rows[0].sum}] ${rows[0].item}`);
|
||||
})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import sql from "../sql.js";
|
||||
|
||||
let _query_get = `
|
||||
set @s := (select count(id) as sum from nxy_quotes where nick like ?);
|
||||
set @s := (select count(id) as sum from nxy_quotes where nick like $1);
|
||||
select id, nick, item, rank, @s as sum
|
||||
from (
|
||||
select @r:= if(@u = nick, @r {rankorder}) as rank,
|
||||
|
@ -11,7 +11,7 @@ from (
|
|||
(select @u:= '') as u
|
||||
order by nick, id {order}
|
||||
) as blah
|
||||
where nick like ?
|
||||
where nick like $1
|
||||
{rand}
|
||||
limit 1
|
||||
offset {offset};
|
||||
|
@ -20,12 +20,13 @@ let _query_add = `
|
|||
insert into nxy_quotes
|
||||
(nick, item, channel, created_by)
|
||||
values
|
||||
(?, ?, ?, ?);
|
||||
($1, $2, $3, $4);
|
||||
`;
|
||||
|
||||
module.exports = bot => {
|
||||
bot._trigger.set("quotes", new bot.trigger({
|
||||
call: /^(\.|\/)q .*/i,
|
||||
active: false,
|
||||
f: e => {
|
||||
let args = e.message.trim().substring(3).split(" ");
|
||||
const cmd = args[0].toLowerCase();
|
||||
|
@ -40,7 +41,7 @@ module.exports = bot => {
|
|||
args.shift();
|
||||
let quote = args.join(" ");
|
||||
|
||||
sql.exec(_query_add, [ nick, quote, `${e.network}.${e.channel}`, e.user.nick ])
|
||||
sql.any(_query_add, [ nick, quote, `${e.network}.${e.channel}`, e.user.nick ])
|
||||
.then(rows => { })
|
||||
.catch(err => {
|
||||
e.reply("duplicate!");
|
||||
|
@ -70,7 +71,7 @@ module.exports = bot => {
|
|||
.replace("{rankorder}", rand ? "+ 1,1" : (order === "asc" ? "+ 1,1" : "- 1,@s"))
|
||||
.replace("{order}", index ? order : "asc")
|
||||
.replace("{offset}", rand ? 0 : offset);
|
||||
sql.exec(query, [nick, nick])
|
||||
sql.any(query, [nick])
|
||||
.then(rows => {
|
||||
if(!rows[1][0])
|
||||
return e.reply("index nicht vorhanden");
|
||||
|
|
|
@ -6,7 +6,7 @@ const vm = require("vm")
|
|||
, stringify = require("stringify-object");
|
||||
|
||||
let _contexts = new Map();
|
||||
sql.exec("select `data` from `useless` where `trigger` = 'sandbox_js'")
|
||||
sql.any("select data from useless where trigger = 'sandbox_js'")
|
||||
.then(rows => {
|
||||
eval("_contexts = new Map([..."+JSON.parse(rows[0].data)+"])");
|
||||
})
|
||||
|
@ -38,7 +38,7 @@ module.exports = bot => {
|
|||
.replace(/\n/g, "")
|
||||
.replace(/\t/g, "")
|
||||
.split("[native code]").join(""));
|
||||
sql.exec("update `useless` set `data` = ? where `trigger` = 'sandbox_js';", tmp)
|
||||
sql.any("update useless set data = $1 where trigger = 'sandbox_js';", [tmp])
|
||||
.then(() => {
|
||||
e.reply(output);
|
||||
})
|
||||
|
|
|
@ -10,9 +10,12 @@ const data = {
|
|||
};
|
||||
|
||||
Object.keys(data).forEach(cur => {
|
||||
sql.exec("select `data` from `useless` where `trigger` = ? limit 1", [cur])
|
||||
sql.any("select data from useless where trigger = $1 limit 1", [cur])
|
||||
.then(rows => {
|
||||
data[cur] = JSON.parse(rows[0].data);
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ const data = {
|
|||
};
|
||||
|
||||
Object.keys(data).forEach(cur => {
|
||||
sql.exec("select `data` from `useless` where `trigger` = ? limit 1", [cur])
|
||||
sql.any("select data from useless where trigger = $1 limit 1", [cur])
|
||||
.then(rows => {
|
||||
data[cur] = JSON.parse(rows[0].data);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user