Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const TelegramBot = require('node-telegram-bot-api');
- const token = '789884842:AAE_zD2GaM2Cl3hVvkV1b4e3gqbigmVCX1A';
- const bot = new TelegramBot(token, {polling: true});
- const mysql = require("mysql");
- const colors = require("colors");
- const con = mysql.createConnection({
- host: "localhost",
- user: "registro",
- password: "reGGistro20",
- database: "registro"
- });
- var act = new Array();
- var val = new Array();
- var mat = new Array();
- var vot = new Array();
- var vid = new Array();
- bot.on('message', (msg) => {
- console.log(msg.from.username.green + ' : ' + msg.text.magenta);
- const menu = {
- reply_to_message_id: msg.message_id,
- reply_markup: JSON.stringify({
- keyboard: [
- ['๐ธ Registra nuovo voto ๐ธ'],
- ['โ Elimina voto โ'],
- [''],
- ],
- })
- };
- const annulla = {
- reply_to_message_id: msg.message_id,
- reply_markup: JSON.stringify({
- keyboard: [
- ['โ๏ธ Annulla โ๏ธ'],
- ],
- })
- };
- const voti = {
- reply_to_message_id: msg.message_id,
- reply_markup: JSON.stringify({
- keyboard: [
- ['1', '1,25', '1,50', '1,75'],
- ['2', '2,25', '2,50', '2,75'],
- ['3', '3,25', '3,50', '3,75'],
- ['4', '4,25', '4,50', '4,75'],
- ['4', '4,25', '4,50', '4,75'],
- ['5', '5,25', '5,50', '5,75'],
- ['6', '6,25', '6,50', '6,75'],
- ['7', '7,25', '7,50', '7,75'],
- ['8', '8,25', '8,50', '8,75'],
- ['9', '9,25', '9,50', '9,75'],
- ['10'],
- ['โ๏ธ Annulla โ๏ธ'],
- ],
- })
- };
- if (act[msg.from.id] == 1) {
- if (msg.text == "/ok") {
- bot.sendMessage(msg.chat.id, "Materie registrate", menu);
- act[msg.from.id] = undefined;
- }
- else {
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from materie where userid = " + sid[0].id + ";";
- con.query(sql, function (err, result) {
- if (result.length >= 20) {
- val[msg.from.id] = 0;
- bot.sendMessage(msg.chat.id, "Limite materie raggiunto. Contatta @FrAgOrDiE");
- }
- function esistente() {
- for (i = 0; i < result.length; i++) {
- if (result[i].materia == msg.text) {
- bot.sendMessage(msg.chat.id, "La materia " + msg.text + " รจ giร stata aggiunta");
- return "1";
- }
- }
- }
- if (esistente() !== "1") {
- if (val[msg.from.id] == undefined) {
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "insert into materie (materia, userid) values ('" + msg.text + "', '" + sid[0].id + "');";
- con.query(sql);
- });
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from materie where userid = " + sid[0].id + ";";
- con.query(sql, function (err, result) {
- var mex = "Aggiunta la materia: " + msg.text + "\n\nMaterie registrate:";
- for (i = 0; i < result.length; i++) {
- var mex = mex + "\n" + (i + 1) + ". " + result[i].materia;
- }
- bot.sendMessage(msg.chat.id, mex + "\n\nDigita /ok per interrompere l'aggiunta di materie");
- });
- });
- }
- else if (val[msg.from.id] == 0) {
- bot.sendMessage(msg.chat.id, "Limite materie raggiunto. Contatta @FrAgOrDiE");
- }
- }
- });
- });
- }
- }
- else if (act[msg.from.id] == 2) {
- if (msg.text == "โ๏ธ Annulla โ๏ธ") {
- bot.sendMessage(msg.chat.id, "Menu principale");
- act[msg.from.id] == undefined;
- }
- else {
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from materie where userid = " + sid[0].id + ";";
- con.query(sql, function (err, result) {
- if (result[parseInt(msg.text, 10) - 1] !== undefined) {
- bot.sendMessage(msg.chat.id, "Che voto vuoi aggiungere per la materia \"" + result[parseInt(msg.text, 10) - 1].materia + "\"?", voti);
- mat[msg.from.id] = result[parseInt(msg.text, 10) - 1].materia;
- act[msg.from.id] = 3;
- }
- else {
- bot.sendMessage(msg.chat.id, "Materia non valida, devi inserire il numero");
- act[msg.from.id] = 2;
- }
- });
- });
- }
- act[msg.from.id] = undefined;
- }
- else if (act[msg.from.id] == 3) {
- if (msg.text == "โ๏ธ Annulla โ๏ธ") {
- bot.sendMessage(msg.chat.id, "Menu principale");
- act[msg.from.id] = undefined;
- }
- else {
- if (parseInt(msg.text, 10) <= 10 && isNaN(parseInt(msg.text, 10)) == false && parseInt(msg.text, 10) >=0) {
- bot.sendMessage(msg.chat.id, "Aggiunto il voto " + msg.text + " nella materia \"" + mat[msg.from.id] + "\".", menu);
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "insert into `voti` (userid, materia, voto) values (" + sid[0].id + ", \"" + mat[msg.from.id] + "\", \"" + msg.text + "\");";
- con.query(sql);
- var sql = "select * from voti where userid = " + sid[0].id + " and materia = \"" + mat[msg.from.id] + "\";";
- con.query(sql, function(err,result) {
- var i = 0;
- var som = 0;
- while (result.length > i) {
- var som = som + parseFloat(result[i].voto.replace(/,/g, '.'));
- i++;
- }
- var som = parseFloat(som);
- var media = som / result.length;
- var sql = "update materie set media = " + media + " where userid = " + sid[0].id + " and materia = \"" + mat[msg.from.id] + "\";";
- con.query(sql);
- });
- });
- act[msg.from.id] = undefined;
- }
- else {
- bot.sendMessage(msg.chat.id, "Valutazione non valida");
- act[msg.from.id] = 3;
- }
- }
- }
- else if (act[msg.from.id] == 4) {
- if (msg.text == "โ๏ธ Annulla โ๏ธ") {
- bot.sendMessage(msg.chat.id, "Menu principale");
- act[msg.from.id] = undefined;
- }
- else {
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from materie where userid = " + sid[0].id + ";";
- con.query(sql, function (err, result) {
- if (result[parseInt(msg.text, 10) - 1] !== undefined) {
- mat[msg.from.id] = result[parseInt(msg.text, 10) - 1].materia;
- var sql = "select * from voti where userid = " + sid[0].id + " and materia = \"" + mat[msg.from.id] + "\";";
- con.query(sql, function(err, vot) {
- var mex = "";
- vid[msg.from.id] = "";
- for (i = 0; i < vot.length; i++) {
- var mex = mex + "\n" + (i + 1) + ". " + vot[i].voto;
- vid[msg.from.id] = vid[msg.from.id] + "," + vot[i].vid;
- }
- bot.sendMessage(msg.chat.id, "Che voto vuoi eliminare per la materia \"" + result[parseInt(msg.text, 10) - 1].materia + "\"?" + mex + "\nInserisci il numero");
- });
- act[msg.from.id] = 5;
- }
- else {
- bot.sendMessage(msg.chat.id, "Materia non valida, devi inserire il numero");
- act[msg.from.id] = 4;
- }
- });
- });
- }
- }
- else if (act[msg.from.id] == 5) {
- if (msg.text == "โ๏ธ Annulla โ๏ธ") {
- bot.sendMessage(msg.chat.id, "Menu principale");
- act[msg.from.id] = undefined;
- }
- else {
- if (parseInt(msg.text, 10) < vid[msg.from.id].split(",").length && isNaN(parseInt(msg.text, 10)) == false && parseInt(msg.text, 10) >= 1) {
- con.query("delete from voti where vid = " + vid[msg.from.id].split(",")[parseInt(msg.text, 10)]);
- bot.sendMessage(msg.chat.id, "Voto eliminato");
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from voti where userid = " + sid[0].id + " and materia = \"" + mat[msg.from.id] + "\";";
- con.query(sql, function(err,result) {
- var i = 0;
- var som = 0;
- while (result.length > i) {
- var som = som + parseFloat(result[i].voto.replace(/,/g, '.'));
- i++;
- }
- var som = parseFloat(som);
- var media = som / result.length;
- var sql = "update materie set media = " + media + " where userid = " + sid[0].id + " and materia = \"" + mat[msg.from.id] + "\";";
- con.query(sql);
- });
- });
- act[msg.from.id] = undefined;
- }
- else {
- bot.sendMessage(msg.chat.id, "Voto non valido, devi inserire il numero", annulla);
- }
- }
- }
- else if (act[msg.from.id] == undefined) {
- if (msg.text == "/start") {
- act[msg.from.id] = 1;
- bot.sendMessage(msg.chat.id, "Questo รจ un BOT per la registrazione dei voti scolastici, esso ne calcola la media e ti avvisa sulle insufficienze\nPer iniziare scrivi le materie di cui vuoi segnare i voti e inviale una per volta, quando hai finito digita /ok\n\nBy Manuel Urbano\nNeed help? @FrAgOrDiE");
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, result) {
- if (err) throw err;
- if (result.length === 1) {
- return;
- }
- else {
- var sql = "insert into utenti (uid, nickname) values ('" + msg.from.id + "', '@" + msg.chat.username + "');";
- con.query(sql, function (err, result) {
- if (err) throw err;
- console.log("Tabelle aggiornate".green);
- });
- }
- });
- }
- else if (msg.text == "๐ธ Registra nuovo voto ๐ธ") {
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from materie where userid = " + sid[0].id + ";";
- con.query(sql, function (err, result) {
- var mex = "";
- for (i = 0; i < result.length; i++) {
- var mex = mex + "\n" + (i + 1) + ". " + result[i].materia;
- }
- bot.sendMessage(msg.chat.id, "Per quale materia vuoi registrare il voto?" + mex + "\nInserisci il numero", annulla);
- act[msg.from.id] = 2;
- });
- });
- }
- else if (msg.text == "โ Elimina voto โ") {
- var sql = "SELECT id FROM `utenti` WHERE uid = " + msg.from.id + ";";
- con.query(sql, function (err, sid) {
- var sql = "select * from materie where userid = " + sid[0].id + ";";
- con.query(sql, function (err, result) {
- var mex = "";
- for (i = 0; i < result.length; i++) {
- var mex = mex + "\n" + (i + 1) + ". " + result[i].materia;
- }
- bot.sendMessage(msg.chat.id, "Per quale materia vuoi eliminare il voto?" + mex + "\nInserisci il numero", annulla);
- act[msg.from.id] = 4;
- });
- });
- }
- }
- });
- //bot.on('polling_error', (error) => {
- // console.log(error); // => 'EFATAL'
- //});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement