Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js");
- var fs=require("fs");
- const https = require('https');
- // this is what we're refering to. Your client.
- const client = new Discord.Client();
- // Here we load the config.json file that contains our token and our prefix values.
- const config = require("../config.json");
- async function loadJSON(){
- //la funzione ritorna una promessa
- return new Promise((resolve, reject) => {
- fs.readFile('variabili.json','utf8', (err,data) => {resolve(JSON.parse(data.match(/{"persone":\d+,"process":(true|false)}/gi)))})//risolvera una lettura per un file e lo trasformera in un oggetto
- })
- }
- async function postJSON(jsonData){
- //la funzione non ritorna nulla ma aggiorna il json variabile
- await fs.writeFile("variabili.json",JSON.stringify(jsonData), err => {//funzione per aggiornare il file
- if(err) return console.log(err);
- })
- }
- client.on("ready", guild => {
- console.log(`processo1 inizializzato in ${client.guilds.size} gilde`)
- });
- client.on("message", async message => {
- /*var x = await loadJSON() //aspetta per la risposta alla promessa oggetto
- console.log(x.persone) *///pubblica il valore persone della promessa oggetto
- // This event will run on every single message received, from any channel or DM.
- if(message.author.bot) return; //non acetta messaggi inviati dai bot
- if(message.content.indexOf(config.prefix) !== 0) return; //accetta solo messaggi il prfisso posto in config
- // Here we separate our "command" name, and our "arguments" for the command.
- // e.g. if we have the message "+say Is this the real life?" , we'll get the following:
- // command = say
- // args = ["Is", "this", "the", "real", "life?"]
- var args = message.content.slice(config.prefix.length).trim().split(/ +/g);
- var command = args.shift().toLowerCase();
- if(command==="inizia"){
- message.channel.send("Processo **1** iniziato")//indica l'inizio del primo processo
- pro=setInterval(async ()=>{
- //inizio ciclo
- variabili = await loadJSON();//prende il file delle variabili come oggetto
- if(variabili.persone>0){
- if(!variabili.process){//controllo se è aperto il canale
- variabili.process=true //chiusura sezione critica
- variabili.persone--//leva un biglietto
- message.channel.send("**P1:** biglietti rimanenti: "+variabili.persone);
- await postJSON(variabili) //apporto le modifiche in modo permanenete
- //}
- }
- return 0;
- }
- else{
- console.log("stop!");
- message.channel.send("il processo è finito");
- return clearInterval(pro);
- }
- },1000)
- //console.log(`**Processo 1:** ho Consegnato un biglietto, *Biglietti mancanti: ${variabili.persone}*`) //messaggio per avvisare l'utente del biglietto
- }
- });
- client.login(config.token);
- ///---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SECONDO PROCESSO---------------------------------------------------------------------------------------------------//
- const Discord = require("discord.js");
- var fs=require("fs");
- const https = require('https');
- // this is what we're refering to. Your client.
- const client = new Discord.Client();
- // Here we load the config.json file that contains our token and our prefix values.
- const config = require("../config.json");
- async function loadJSON(){
- //la funzione ritorna una promessa
- return new Promise((resolve, reject) => {
- fs.readFile('variabili.json','utf8', (err,data) => {resolve(JSON.parse(data.match(/{"persone":\d+,"process":(true|false)}/gi)))})//risolvera una lettura per un file e lo trasformera in un oggetto
- })
- }
- async function postJSON(jsonData){
- //la funzione non ritorna nulla ma aggiorna il json variabile
- await fs.writeFile("variabili.json",JSON.stringify(jsonData), err => {//funzione per aggiornare il file
- if(err) return console.log(err);
- })
- }
- client.on("ready", guild => {
- console.log(`processo1 inizializzato in ${client.guilds.size} gilde`)
- });
- client.on("message", async message => {
- /*var x = await loadJSON() //aspetta per la risposta alla promessa oggetto
- console.log(x.persone) *///pubblica il valore persone della promessa oggetto
- // This event will run on every single message received, from any channel or DM.
- if(message.author.bot) return; //non acetta messaggi inviati dai bot
- if(message.content.indexOf(config.prefix) !== 0) return; //accetta solo messaggi il prfisso posto in config
- // Here we separate our "command" name, and our "arguments" for the command.
- // e.g. if we have the message "+say Is this the real life?" , we'll get the following:
- // command = say
- // args = ["Is", "this", "the", "real", "life?"]
- var args = message.content.slice(config.prefix.length).trim().split(/ +/g);
- var command = args.shift().toLowerCase();
- if(command==="inizia"){
- message.channel.send("Processo **2** iniziato")//indica l'inizio del primo processo
- pro=setInterval(async ()=>{
- //inizio ciclo
- variabili = await loadJSON();//prende il file delle variabili come oggetto
- if(variabili.persone>0){
- if(variabili.process){//controllo se è aperto il canale
- variabili.process=false //chiusura sezione critica
- variabili.persone--//leva un biglietto
- message.channel.send("**P2:** biglietti rimanenti: "+variabili.persone);
- await postJSON(variabili) //apporto le modifiche in modo permanenete
- //}
- }
- return 0;
- }
- else{
- console.log("stop!");
- message.channel.send("il processo è finito");
- return clearInterval(pro);
- }
- },1000)
- //console.log(`**Processo 1:** ho Consegnato un biglietto, *Biglietti mancanti: ${variabili.persone}*`) //messaggio per avvisare l'utente del biglietto
- }
- });
- client.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement