diff --git a/app.js b/app.js index 71982fe..88ab5e7 100644 --- a/app.js +++ b/app.js @@ -42,6 +42,10 @@ bot.on('message', (msg) => { questions.subStatus(bot, msg, logger) } + if (msg.text && msg.text.toString().includes("/admins")) { + questions.adminStatus(bot, msg, logger) + } + if (msg.text && msg.text.toString().includes("/football_today")) { requests.football_today(bot, msg, logger) } @@ -76,9 +80,13 @@ bot.on('message', (msg) => { common.chat(bot, msg, match, logger) } + if (msg.text && msg.text.toString().includes("/password")) { + match = msg.text.substring(10); + questions.password(bot, msg, match, logger) + } + if (msg.text && msg.text.toString().toLowerCase().includes("set sub")) { bot_subStatus.setSubStatus(bot, msg, logger) } - }); diff --git a/data/bot/functions/requests/adminStatus.js b/data/bot/functions/requests/adminStatus.js new file mode 100644 index 0000000..208329c --- /dev/null +++ b/data/bot/functions/requests/adminStatus.js @@ -0,0 +1,32 @@ +const fs = require('fs') +let ad = JSON.parse(fs.readFileSync('./data/group/admins.json', 'utf8')) +let adminArray= [] + +for (const x of ad) { + adminArray.push(x.ADMIN) +} + +module.exports = { + setSubStatus: (bot, msg, logger, name) => { + let subs = JSON.parse(fs.readFileSync('./data/group/subs.json', 'utf8')) + if (adminArray.indexOf(msg.from.id) > -1) { + sub = msg.text.match(/(?<=set sub )(.*)(?= to (up|down))/g)[0] + status = msg.text.match(/\w+(?=( \w+){0}$)/g)[0] + logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " updated " + sub + " to " + status); + if (status === "up") { + status = 1 + } else { + status = 0 + } + subs.forEach(function (element, index) { + if (element.SUB.toLowerCase() === sub.toLowerCase()) { + subs[index].STATUS = status; //set the value + } + }) + // console.log(subs); + fs.writeFileSync('./data/group/subs.json', JSON.stringify(subs)) + bot.sendMessage(msg.chat.id, sub + " sub updated") + } + } + +} \ No newline at end of file diff --git a/data/bot/functions/requests/updateSubStatus.js b/data/bot/functions/requests/updateSubStatus.js index f5764f8..208329c 100644 --- a/data/bot/functions/requests/updateSubStatus.js +++ b/data/bot/functions/requests/updateSubStatus.js @@ -1,10 +1,15 @@ const fs = require('fs') -const admins = JSON.parse(process.env.ADMIN_ID) +let ad = JSON.parse(fs.readFileSync('./data/group/admins.json', 'utf8')) +let adminArray= [] + +for (const x of ad) { + adminArray.push(x.ADMIN) +} module.exports = { setSubStatus: (bot, msg, logger, name) => { let subs = JSON.parse(fs.readFileSync('./data/group/subs.json', 'utf8')) - if (admins.indexOf(msg.from.id) > -1) { + if (adminArray.indexOf(msg.from.id) > -1) { sub = msg.text.match(/(?<=set sub )(.*)(?= to (up|down))/g)[0] status = msg.text.match(/\w+(?=( \w+){0}$)/g)[0] logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " updated " + sub + " to " + status); diff --git a/data/group/admins.json b/data/group/admins.json new file mode 100644 index 0000000..5fc2104 --- /dev/null +++ b/data/group/admins.json @@ -0,0 +1,26 @@ +[ + { + "ADMIN": 868225940, + "NAME": "@bob_15", + "REALNAME": "Sarah", + "STATUS": 1 + }, + { + "ADMIN": 470861863, + "NAME": "@manclad72", + "REALNAME": "MANC LAD", + "STATUS": 1 + }, + { + "ADMIN": 5156156, + "NAME": "@Scotslad", + "REALNAME": "ScotLad", + "STATUS": 0 + }, + { + "ADMIN": 434187971, + "NAME": "Karl", + "REALNAME": "Karl", + "STATUS": 1 + } +] \ No newline at end of file diff --git a/data/group/subs.json b/data/group/subs.json index bd6ca8b..338b59c 100644 --- a/data/group/subs.json +++ b/data/group/subs.json @@ -1 +1 @@ -[{"SUB":"Premium Plus","COST":30,"STATUS":1,"APPS":["XCIPTV Blue","Sky Q Yellow","SMARTERS Green"]},{"SUB":"VIP","COST":25,"STATUS":1,"APPS":["XCIPTV Blue","Sky Q Yellow","SMARTERS Green"]},{"SUB":"Old Premium","COST":17,"STATUS":1,"APPS":["XCIPTV Blue","Sky Q Yellow","SMARTERS Green"]},{"SUB":"Bluemoon","COST":15,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"KDB","COST":14,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"Gold","COST":13,"STATUS":1,"APPS":["XCIPTV Red","Sky Q Yellow","SMARTERS Green"]},{"SUB":"Technoid","COST":13,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"Bronze","COST":10,"STATUS":1,"APPS":["XCIPTV Red","SMARTERS Green"]},{"SUB":"SOL","COST":10,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"New Premium (tvob)","COST":"X","STATUS":0,"APPS":["SMARTERS Green"]},{"SUB":"Gambler","COST":"X","STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"All of em","COST":"X","STATUS":"X"}] \ No newline at end of file +[{"SUB":"Premium Plus","COST":30,"STATUS":1,"APPS":["XCIPTV Blue","Sky Q Yellow","SMARTERS Green"]},{"SUB":"VIP","COST":25,"STATUS":1,"APPS":["XCIPTV Blue","Sky Q Yellow","SMARTERS Green"]},{"SUB":"Old Premium","COST":17,"STATUS":1,"APPS":["XCIPTV Blue","Sky Q Yellow","SMARTERS Green"]},{"SUB":"Bluemoon","COST":15,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"KDB","COST":14,"STATUS":0,"APPS":["SMARTERS Green"]},{"SUB":"Gold","COST":13,"STATUS":1,"APPS":["XCIPTV Red","Sky Q Yellow","SMARTERS Green"]},{"SUB":"Technoid","COST":13,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"Bronze","COST":10,"STATUS":1,"APPS":["XCIPTV Red","SMARTERS Green"]},{"SUB":"SOL","COST":10,"STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"New Premium (tvob)","COST":"X","STATUS":0,"APPS":["SMARTERS Green"]},{"SUB":"Gambler","COST":"X","STATUS":1,"APPS":["SMARTERS Green"]},{"SUB":"All of em","COST":"X","STATUS":"X"}] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b54ce4a..9c13c5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -423,6 +423,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "nato": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/nato/-/nato-0.1.1.tgz", + "integrity": "sha1-nl9ZDf5B3xqb2ghColylazga2rg=" + }, "node-telegram-bot-api": { "version": "0.50.0", "resolved": "https://registry.npmjs.org/node-telegram-bot-api/-/node-telegram-bot-api-0.50.0.tgz", diff --git a/package.json b/package.json index d457f9f..78e9f01 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "cached-request": "^2.0.1", "dotenv": "^8.2.0", "fs": "0.0.1-security", + "nato": "^0.1.1", "node-telegram-bot-api": "^0.50.0", "perfect-logger": "^2.0.1", "request": "^2.88.2",