Advertisement
Jordimario

Bot 17/set/2018

Sep 16th, 2018
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 114.42 KB | None | 0 0
  1. // Load up the discord.js library
  2. const Discord = require("discord.js");
  3.  
  4.  
  5. // This is your client. Some people call it `bot`, some people call it `self`,
  6. // some might call it `cootchie`. Either way, when you see `client.something`, or `bot.something`,
  7. // this is what we're refering to. Your client.
  8. const client = new Discord.Client();
  9. var ListA = [];
  10. var ListaOGG = [];
  11. var ListaVisualizzabile=[];
  12. var MessLoG=[];
  13. var LunghezzA = 0/// serve per la lista
  14. DataSavE=""//accumula i numeri
  15. OsecondiO = 0;
  16. OminutiO = 0;
  17. OoreO = 0;
  18. ODatoGiornoO = 0;
  19. TContaT=0;
  20. DataADD=0;//Mantiene i nuemri
  21. BooL=0;
  22. DataN="0";
  23. TPuntoT=0;
  24. TDifficoltaT=10;
  25. TLivelloT=4;
  26. var RollBacK=0;
  27. const nepero=2.71828182845904523536
  28. MessLoG=" "
  29. const votaComando = require("./Pok.js");
  30.  
  31. // Here we load the config.json file that contains our token and our prefix values.
  32. const config = require("./config.json");
  33. // config.token contains the bot's token
  34. // config.prefix contains the message prefix.
  35. const os = require("os");
  36.  
  37. client.on("ready", () => {
  38.  
  39. // This event will run if the bot starts, and logs in, successfully.
  40. console.log(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds in ${client.size}.`);
  41. // Example of changing the bot's playing game to something useful. `client.user` is what the
  42. // docs refer to as the "ClientUser".
  43. client.user.setGame(`Bindelli's Adventures`);
  44. });
  45.  
  46. client.on("guildCreate", guild => {
  47. // This event triggers when the bot joins a guild.
  48. console.log(`New guild joined: ${guild.name} (id: ${guild.id}). This guild has ${guild.memberCount} members!`);
  49. client.user.setGame(`on ${client.guilds.size} servers`);
  50. });
  51.  
  52. client.on("guildDelete", guild => {
  53. // this event triggers when the bot is removed from a guild.
  54. console.log(`I have been removed from: ${guild.name} (id: ${guild.id})`);
  55. client.user.setGame(`on ${client.guilds.size} servers`);
  56. });
  57.  
  58. client.on("emojiCreate", guild => {
  59. // this event triggers when si crea un emoji
  60. console.log(`è stata creata questa emoji: ${guild.name} (id: ${guild.id})`);
  61. client.user.setGame(`on ${client.guilds.size} servers`);
  62. });
  63.  
  64.  
  65. client.on("guildMemberAdd", guild => {
  66. // this event triggers when si crea un emoji
  67. });
  68.  
  69. client.on("messageDelete", guild => {
  70. // this event triggers when si cancella un messaggio
  71. console.log(`è stato eliminato un messeggio: ${guild.name} (id: ${guild.id})`);
  72. RollBacK++
  73. });
  74.  
  75. client.on("messageDelete", guild => {
  76. // this event triggers when si cancella un messaggio
  77. console.log(`è stato eliminato un messeggio: ${guild.name} (id: ${guild.id})`);
  78. RollBacK++
  79. });
  80.  
  81. client.on("error", guild => {
  82. // this event triggers when c'e un errore
  83. console.log(`c'e' stato un errore: ${guild.name} (id: ${guild.id})`);
  84. client.user.setGame(`on ${client.guilds.size} servers`);
  85. });
  86.  
  87. client.on("message", async message => {
  88. ///this event triggers when si crea un messaggio
  89. console.log(`è stato Creato un messeggio:${message.author}: ${message.content}`);
  90.  
  91. // This event will run on every single message received, from any channel or DM.
  92.  
  93. // It's good practice to ignore other bots. This also makes your bot ignore itself
  94. // and not get into a spam loop (we call that "botception").
  95. if(message.author.bot) return;
  96.  
  97. // Also good practice to ignore any message that does not start with our prefix,
  98. // which is set in the configuration file.
  99. if(message.content.indexOf(config.prefix) !== 0) return;
  100.  
  101. // Here we separate our "command" name, and our "arguments" for the command.
  102. // e.g. if we have the message "+say Is this the real life?" , we'll get the following:
  103. // command = say
  104. // args = ["Is", "this", "the", "real", "life?"]
  105. var args = message.content.slice(config.prefix.length).trim().split(/ +/g);
  106. var command = args.shift().toLowerCase();
  107.  
  108. // Let's go with a few common example commands! Feel free to delete or change those.
  109. if(command !== "renile"){
  110. LooP=command
  111. }
  112. else{
  113. command=LooP
  114. }
  115.  
  116. if(command === "ritrovamessaggio"){
  117. NumeroMessaggio=args.join(" ")
  118. NumeroMessaggio=Number(NumeroMessaggio)
  119. message.channel.send(MessLoG[NumeroMessaggio]);
  120. return;
  121. }
  122.  
  123.  
  124.  
  125. if(command === "ping") {
  126. // Calculates ping between sending a message and editing it, giving a nice round-trip latency.
  127. // The second ping is an average latency between the bot and the websocket server (one-way, not round-trip)
  128. const m = await message.channel.send("W il fascismo");
  129. m.edit(`É VOLEVI? GUARDA CHE FACCIA NON SE L'ASPETTAVA PENSAVI CHE DICESSI PONG'! Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ping)}ms`);
  130. }
  131. if(command === "mantieni"){
  132. MyMessage=args.join(" ")
  133. MyJSON=JSON.stringify(MyMessage)
  134. localStorage.setItem("testJSON", MyMessage)
  135. }
  136. if(command === "ritorna"){
  137. testo=localStorage.getItem("testJSON")
  138. parsetext=JSON.parse(testo)
  139. message.channel.send(`il messaggio mantenuto è ${parsetext}`)
  140. }
  141. if(command === "say") {
  142. // makes the bot say something and delete the message. As an example, it's open to anyone to use.
  143. // To get the "message" itself we join the `args` back into a string with spaces:
  144. const sayMessage = args.join(" ");
  145. // Then we delete the command message (sneaky, right?). The catch just ignores the error with a cute smiley thing.
  146. message.delete().catch(O_o=>{});
  147. // And we get the bot to say the thing:
  148. message.channel.send(sayMessage);
  149. }
  150.  
  151. if(command === "kick") {
  152. // This command must be limited to mods and admins. In this example we just hardcode the role names.
  153. // Please read on Array.some() to understand this bit:
  154. // https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some?
  155. if(!message.member.roles.some(r=>["Administrator", "Moderator"].includes(r.name)) )
  156. return message.reply("Sorry, you don't have permissions to use this!");
  157.  
  158. // Let's first check if we have a member and if we can kick them!
  159. // message.mentions.members is a collection of people that have been mentioned, as GuildMembers.
  160. let member = message.mentions.members.first();
  161. if(!member)
  162. return message.reply("Please mention a valid member of this server");
  163. if(!member.kickable)
  164. return message.reply("I cannot kick this user! Do they have a higher role? Do I have kick permissions?");
  165.  
  166. // slice(1) removes the first part, which here should be the user mention!
  167. let reason = args.slice(1).join(' ');
  168. if(!reason)
  169. return message.reply("Please indicate a reason for the kick!");
  170.  
  171. // Now, time for a swift kick in the nuts!
  172. await member.kick(reason)
  173. .catch(error => message.reply(`Sorry ${message.author} I couldn't kick because of : ${error}`));
  174. message.reply(`${member.user.tag} has been kicked by ${message.author.tag} because: ${reason}`);
  175.  
  176. }
  177.  
  178. if(command === "ban") {
  179. // Most of this command is identical to kick, except that here we'll only let admins do it.
  180. // In the real world mods could ban too, but this is just an example, right? ;)
  181. if(!message.member.roles.some(r=>["Administrator"].includes(r.name)) )
  182. return message.reply("Sorry, you don't have permissions to use this!");
  183.  
  184. let member = message.mentions.members.first();
  185. if(!member)
  186. return message.reply("Please mention a valid member of this server");
  187. if(!member.bannable)
  188. return message.reply("I cannot ban this user! Do they have a higher role? Do I have ban permissions?");
  189.  
  190. let reason = args.slice(1).join(' ');
  191. if(!reason)
  192. return message.reply("Please indicate a reason for the ban!");
  193.  
  194. await member.ban(reason)
  195. .catch(error => message.reply(`Sorry ${message.author} I couldn't ban because of : ${error}`));
  196. message.reply(`${member.user.tag} has been banned by ${message.author.tag} because: ${reason}`);
  197. }
  198. if(command === "contoinutile") {
  199. const num1 = args.join(" ");
  200. const num2 = args.join(" ");
  201. var num3 = num1 + num2;
  202. message.catch;
  203. return message.channel.send( `${num3} è un numero inutile`);
  204.  
  205. }
  206. if(command === "mitra") {
  207. var neo=-4
  208. const Tizio = args.join(" ");
  209. message.catch;
  210. while(neo<0)
  211. {
  212. message.channel.send( `${Tizio} sei un idiota`);
  213. neo++;
  214.  
  215. }
  216. return}
  217. if(command === "insulta")
  218. {
  219. const Tizio = args.join(" ");
  220. message.delete().catch;
  221.  
  222.  
  223. return message.channel.send( `${Tizio} sei un idiota`);
  224. }
  225. if(command === "infinito") {
  226. var neo=-900
  227. const Tizio = args.join(" ");
  228. message.catch;
  229. while(neo<900)
  230. {
  231. message.channel.send( `${Tizio} sei un idiota`);
  232. neo++;
  233.  
  234. }
  235. return}
  236. if(command === "insulta")
  237. {
  238. const Tizio = args.join(" ");
  239. message.delete().catch;
  240.  
  241.  
  242. return message.channel.send( `${Tizio} sei un idiota`);
  243. }
  244.  
  245.  
  246.  
  247. if(command ==="prova")
  248. {
  249. const Numero = args.join(" ");
  250. const Gay = message.author;
  251.  
  252.  
  253.  
  254. if(Numero === "1")
  255. {
  256. return message.channel.send("Pezzente");
  257. }
  258. if(Numero === "2")
  259. {
  260. return message.channel.send("Infame");
  261. }
  262. if(Numero === "3")
  263. {
  264. return message.channel.send("Schifoso");
  265. }
  266. if(Numero === "7")
  267. {
  268. return message.channel.send("POPO LEZZO!!!");
  269. }
  270. if(Numero === "5")
  271. {
  272. return message.channel.send("Colione");
  273. }
  274. if(Numero === "4")
  275. {
  276. return message.channel.send("Idiota");
  277. }
  278. if(Numero === "8")
  279. {
  280. return message.channel.send("Fellone");
  281. }
  282. if(Numero === "6")
  283. {
  284. return message.channel.send("9GAGFAG");
  285. }
  286. else
  287. {
  288. return message.channel.send(`ci sono solo 8 insulti . ${message.author}? More like ${Gay}catch(3) gay` );
  289.  
  290. }}
  291.  
  292.  
  293. if(command ==="vota")
  294. {
  295. const RecensionatO = args.join(" ");
  296. var roll = (Math.floor(Math.random() * 100)+ 1)/10;
  297. if(roll<2)
  298. {
  299. return message.reply(`il mio voto per ${RecensionatO} è ${roll} su 10 PERCHE' POPO LEZZO`);
  300. }
  301. return message.reply(`il mio voto per ${Recensionato} è ${roll} su 10`)
  302. };
  303.  
  304. if(command ==="pkmn")
  305. {
  306. const RecensionatO = args.join(" ");
  307. var roll = (Math.floor(Math.random() * 806)+ 1);
  308. return message.reply(`il tuo pokmeon è il numero -${roll}-`);
  309. };
  310.  
  311.  
  312. if(command ==="boing"){
  313. const Recensionato = args.join(" ");
  314. message.catch;
  315. console.log("pre inizio");
  316. votaComando.pok();
  317. console.log("inizio processo");
  318.  
  319. return console.log("fine processo",Recensionato, );
  320.  
  321. }
  322. ///Gen Comandi Minecraft///
  323. if(command==="minecraftmap"){
  324. args.join(" ")
  325. var DaMappa=args[0]
  326. var AMappa=args[1]
  327. var i=0
  328. var ComandoEseguibile=[]
  329. ComandoEseguibile.push(`/blockdata ~ ~2 ~ { Items: [\n`)
  330. for(;DaMappa<=AMappa;DaMappa++){
  331. ComandoEseguibile.push(`{id:filled_map, Slot: ${i}, Count: 1, Damage:${DaMappa}},\n`)
  332. i++;
  333. }
  334.  
  335. ComandoEseguibile.push("]}")
  336. ComandoEseguibile=ComandoEseguibile.join(" ")
  337. console.log(ComandoEseguibile)
  338. return message.channel.send(ComandoEseguibile)
  339. }
  340.  
  341.  
  342. if(command === "os")
  343. {
  344. return message.channel.send(`Architecture: ${os.arch()}\n Platfrom: ${os.platform()}`)
  345.  
  346. }
  347. // Il Bot gioca
  348.  
  349. if(command === "live"){
  350. const LaLive = args.join(" ");
  351. message.delete().catch;
  352. return client.setStreaming(`${LaLive}`," ",1)
  353. }
  354.  
  355. if(command === "gioca"){
  356. const IlGioco = args.join(" ");
  357. message.delete().catch;
  358. message.channel.send(`ora sto giocando a \"${IlGioco}\" consigliato da ${message.author}`);
  359. return client.user.setGame(`${IlGioco}`)
  360. }
  361. // Comandi per la Matematica
  362.  
  363.  
  364.  
  365. if(command === "radquad"){
  366. var NuM = args.join(" ");
  367. message.catch;
  368. NumO=NuM;
  369. Num=String(Number(NuM)*Number(NuM));
  370.  
  371. if(String(NuM)==="Infinity"){
  372. return message.channel.send(`La Radice Quadrata di \"${NumO}\" è \"https://www.youtube.com/user/InfinitoWorld"`);
  373. }
  374.  
  375. return message.channel.send(`La Radice Quadrata di \"${NumO}\" è \"${NuM}\"`);
  376. }
  377.  
  378.  
  379. ///indietro///
  380. if(command==="indietro"){
  381.  
  382. }
  383. /* if(command === "calcola"){
  384. var dato = args.join(" ");
  385. Intere="0"
  386. Risultato=0
  387. FloatPointMaggiore=[]
  388. pattern = new RegExp(/\D/g);
  389. N=0
  390. dato=dato.replace(/\u0020/g,"")//Backspace
  391. dato=dato.replace(/,/g,".")
  392. //creo due stringhe con una solo i numeri con la virgole e l'altra senza
  393. var ridato=dato//stringa degli operandi
  394. ridato=ridato.replace(/\u002E/g,"")//punto
  395. ridato=ridato.replace(/\d/g,"")
  396. ridato=ridato.split("")
  397. dato=dato.replace(/\u002B/g,",")//+
  398. dato=dato.replace(/\u002D/g,",")//-
  399. dato=dato.replace(/\u002A/g,",")//*
  400. dato=dato.replace(/\u002F/g,",")// /
  401. dato=dato.replace(/\u0020/g,"")//Backspace
  402. toString(dato)
  403. dato=dato.split(",")
  404.  
  405. for(i=0;i < dato.length;i++){
  406. toString(dato[i])
  407. if(dato[i].includes('.') === 0)
  408. continue
  409.  
  410. InetereEFloat=dato[i]
  411. InetereEFloat.split('.')//divido fra interi e float
  412.  
  413. FloatPointMaggiore.push(InetereEFloat[1].length)
  414. }
  415. Float=pow(10,Math.max(FloatPointMaggiore))
  416. for(i=0;i < dato.length;i++){
  417. Risultato=eval(Risultato+ridato[i]+dato[i]*Float)
  418. }
  419. Risultato=Risultato/Float
  420. return message.channel.send(`${Risultato} ${dato},${ridato}`)
  421. if(pattern.test(dato) !== false )
  422. return message.reply(`sei negro e lo sai\"`);
  423.  
  424. /*
  425. while(comma==0){
  426. FloatingFix=FloatingFix*10
  427. comma--
  428. }*//*
  429. DataADD=eval(DataADD+dato);
  430. DataN=DataN+dato;
  431. DataN.replace(" ","")
  432.  
  433. return message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"${DataADD}\"`);
  434. }
  435. */
  436.  
  437. if(command ==="evalla"){
  438. argo=args.join(" ")
  439. return argo.eval
  440. }
  441. ///eval() Migliorato/// !PARTE DI UN COMANDO
  442. /*if(command ==="eval"){
  443. var Maggiore=1
  444. argomenti=args.join(" ")
  445.  
  446. argomenti=argomenti.replace(/,/g,".")//rinpiazza tutti le virgole con un punto
  447. DataSavE=DataADD+argomenti
  448. argomentiOperandi=argomenti.match(/(\u002B|\u002A|\u002F|\u002D)/g)//mette una virgola in prima di ogni segno
  449. argomentinumeri=argomenti.match(/\b\d+(\.\d+)?/g)//prende tutti i numeri
  450. FloatNumber=argomenti.match(/\.\d+/g)//trova tutti i numeri con la virgola
  451.  
  452. if(FloatNumber!==null){
  453. FloatNumber.forEach(TrovaFloatMaggiore)//trova il float maggiore
  454. argomentinumeri.forEach(MoltiplicaPerFloatMaggiore)//moltiplica per 10 elevato al float maggiore tutti i numeri
  455. }
  456.  
  457. argomentinumeri.forEach(UnisciOperandoENumero)//unisce operando e numero
  458. argomentinumeri=argomentinumeri.join(" ")
  459.  
  460. Potenzia=Math.pow(10,Maggiore-1)
  461. DataADD=eval(DataADD*Potenzia+argomentinumeri)
  462. DataADD=DataADD/Potenzia
  463.  
  464. message.channel.send(`Il risultato di **[${DataSavE}]** è **[${DataADD}]**`)
  465. //funzioni
  466. //trova il numero con il float maggiore
  467. function TrovaFloatMaggiore(item,index){
  468. if(item.length>Maggiore)
  469. Maggiore=item.length
  470. }
  471. //moltiplica tutti i numeri per il floar maggiore
  472. function MoltiplicaPerFloatMaggiore(item,index){
  473. argomentinumeri[index]=Number(argomentinumeri[index])*Math.pow(10,Maggiore-1)
  474. }
  475. //unisce il numero e l'operando
  476. function UnisciOperandoENumero(item,index){
  477. argomentinumeri[index]=argomentiOperandi[index]+argomentinumeri[index]
  478. }
  479. }*/
  480.  
  481. ///eval()///
  482. if(command === "calcola"){
  483. var dato = args.join(" ");
  484. var Operandi = []
  485. var Potensiatore=0
  486. var Espressione=[]
  487. args.unshift(DataADD)
  488. pattern = new RegExp(/\D/g);
  489. N=0
  490. dato=dato.replace(/\u0020/g,"")//Backspace
  491. dato=dato.replace(/,/g,".")
  492. Operandi=dato
  493. ///Trovare il moltiplicatore generale per il Floating Point
  494. dato=dato.replace(/\u002B/g,",")//+
  495. dato=dato.replace(/\u002D/g,",")//-
  496. dato=dato.replace(/\u002A/g,",")//*
  497. dato=dato.replace(/\u002F/g,",")// /
  498. dato=dato.replace(/\u0020/g,"")//Backspace
  499. toString(dato)
  500. dato=dato.split(",")
  501. //Determinare se il il risultato precedente ha un floating point
  502. DataADDString=toString(DataADD)
  503. Index=DataADDString.indexOf('.')
  504. console.log(DataADD)
  505. console.log(Index)
  506. if(Index!==-1){
  507. Potensiatore=Number(DataADDString.length-Index)
  508. console.log(NumeroDaControllare.length)
  509. console.log(Index)
  510. console.log(Potensiatore)
  511. }
  512. for(i=0;i < dato.length;i++){
  513.  
  514. ///Determinare il floating point
  515. toString(dato[i])
  516. NumeroDaControllare=dato[i]
  517. Index=NumeroDaControllare.indexOf('.')//ritorna la posizione del punto
  518.  
  519.  
  520. if(Index!==-1){
  521. Index=NumeroDaControllare.length-Index//si leva la parte intera del numero
  522. if(Number(Index)>Potensiatore){//controllo se il numero dopo la virgola è piu grande
  523. Potensiatore=Number(Index)//se si sostituisco
  524. console.log(NumeroDaControllare.length)
  525. console.log(Index)
  526. console.log(Potensiatore)
  527. }
  528. }
  529. }
  530.  
  531. if(Potensiatore>0)
  532. Potensiatore--
  533.  
  534. Potensiatore=Math.pow(10,Potensiatore)
  535. dato.shift()//leva l'attributo vuoto
  536. ///Trovare Gli Operatori per ogni rispettivo numero
  537. Operandi=Operandi.replace(/\u002E/g,"");//trova Punti e li scancella
  538.  
  539. Operandi=Operandi.match(pattern)//prende solo gli operandi
  540.  
  541. //crea una espressione Compatta rispettando le priorità dei divisore e de i moltiplicatori
  542. for(i=0;i < dato.length;i++){
  543. Espressione.push(Operandi[i]+Potensiatore*dato[i])///unisce i operandi ai suoi rispettivi numeri
  544.  
  545. }
  546. Espressione=Espressione.join("")
  547.  
  548. DataADD=eval(DataADD*Potensiatore+Espressione)
  549. DataADD=eval(DataADD/Potensiatore)
  550. args=args.join("")
  551. DataSavE=toString(DataSavE)+toString(args)
  552. return message.channel.send(`L'espressione **[${DataSavE}]** Torna **[${DataADD}]**`)
  553.  
  554. return message.reply(`sei negro e lo sai\"`);
  555.  
  556. /*
  557. ///metodo di calcolo vecchio
  558. for(i=0;i < dato.length;i++){
  559. DataADD=eval(DataADD+Operandi[i]+Potensiatore*dato[i])
  560. console.log("---------------------")
  561. console.log(DataADD)
  562. console.log(Operandi[i])
  563. console.log(Potensiatore*dato[i])
  564. }
  565. DataADD=eval(DataADD/Potensiatore)
  566. return message.channel.send(`${DataADD}`)
  567. if(pattern.test(dato) !== false )
  568. return message.reply(`sei negro e lo sai\"`);
  569. while(comma==0){
  570. FloatingFix=FloatingFix*10
  571. comma--
  572. }*/
  573. DataADD=eval(DataADD+dato);
  574. DataN=DataN+dato;
  575. DataN.replace(" ","")
  576.  
  577. return message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"${DataADD}\"`);
  578. }
  579. ///ADDIZIONE///
  580. if(command === "add"){
  581. var dato = args.join(" ");
  582. message.catch;
  583.  
  584.  
  585.  
  586. DataSavE=DataADD
  587. N=0
  588. while(String(args[N]) !== "undefined"){
  589. DataADD=String(Number(DataADD)+Number(args[N]));
  590. DataN=String(String(DataN)+String("+")+String(args[N]));
  591. N++
  592. }
  593.  
  594. if(String(DataADD) === "NaN"){
  595. DataADD=Number(DataSavE);
  596. message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"`);
  597. return message.reply(`sei negro e lo sai\"`);
  598. }
  599.  
  600.  
  601. return message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"${DataADD}\"`);
  602. }
  603.  
  604.  
  605. ///SOTRAZIONE///
  606. if(command === "del"){
  607. var dato = args.join(" ");
  608. message.catch;
  609. N=0
  610. DataSavE=DataADD
  611. while(String(args[N]) !== "undefined"){
  612. DataADD=String(Number(DataADD)-Number(args[N]));
  613. DataN=String(String(DataN)+String("-")+String(args[N]));
  614. N++
  615. }
  616.  
  617.  
  618. if(String(DataADD) === "NaN"){
  619. DataADD=Number(DataSavE);
  620. message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"`);
  621. return message.reply(`sei negro e lo sai\"`);
  622. }
  623.  
  624.  
  625. return message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"${DataADD}\"`);
  626. }
  627.  
  628.  
  629. ///MOLTIPLICAZIONE///
  630. if(command === "mul"){
  631. var dato = args.join(" ");
  632. message.catch;
  633. if(DataADD===0){
  634. DataADD=1
  635. }
  636. N=0
  637. DataSavE=DataADD
  638. while(String(args[N]) !== "undefined"){
  639. DataADD=String(Number(DataADD)*Number(args[N]));
  640. DataN=String(String(DataN)+String("x")+String(args[N]));
  641. N++
  642. }
  643. if(String(DataADD) === "NaN"){
  644. DataADD=Number(DataSavE);
  645. message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"`);
  646. return message.reply(`sei negro e lo sai\"`);
  647. }
  648.  
  649.  
  650. return message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"${DataADD}\"`);
  651. }
  652. ///DIVISIONE///
  653. if(command === "div"){
  654. var dato = args.join(" ");
  655. message.catch;
  656.  
  657. if(dato==="0"){
  658. return message.reply(`Come osi?`);
  659. }
  660. if(DataADD===0){
  661. DataADD=1
  662. }
  663. DataSavE=DataADD
  664. DataADD=String(Number(DataADD)/Number(dato));
  665. DataN=String(String(DataN)+String("/")+String(dato));
  666.  
  667.  
  668. if(String(DataADD) === "NaN"){
  669. DataADD=Number(DataSavE);
  670. message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"`);
  671. return message.reply(`sei negro e lo sai\"`);
  672. }
  673.  
  674.  
  675. return message.channel.send(`Il risultato dell'operazione \"${DataN}\" è \"${DataADD}\"`);
  676. }
  677. ///FORMULA RISOLUTIVA///
  678.  
  679. if(command === "risolutiva"){
  680. var DataI = args.join(" ");
  681. message.catch;
  682. DataD=Number(args[0])
  683. DataX=Number(args[1])
  684. Data2X=Number(args[2])
  685. rad=2
  686. DataD=DataX*DataX-4*Data2X*DataD;///calcola il descriminante "Æ"
  687. message.channel.send(`Discriminante: ${DataD}\n`);
  688. if(DataD<0)///se il descriminante e' negativo l'equazione e' impossibile
  689. {
  690. return message.channel.send("Ma questa equazione e' impsbilll!!1!11!1");
  691. }
  692.  
  693. DataX=DataX*-1;///metodo risolutivo
  694. Data2X=Data2X*2;///metodo risolutivo
  695.  
  696. if(DataD!==0 && DataD!==1)///se il discriminante è uguale a 1 o 0 salta l'intero ciclo per trovare la propria radice quadrata. protip: la radice di 1 è 1 e di 0 è 0
  697. {
  698. while(rad!=DataD/rad)///ciclo per trovare la radice quadrata
  699. {
  700. rad++;
  701. if(rad>DataD/rad)
  702. {
  703. return message.channel.send(`l'equazione a due risultati [+-V${DataD}/${Data2X}] `);
  704.  
  705. }
  706. }
  707. }
  708.  
  709.  
  710. else{
  711. rad=0;
  712. rad=rad+DataD;
  713. }
  714. message.channel.send(`${DataX}+-${rad} \ ${Data2X}\n`);
  715. X1X=DataX+rad
  716. X2X=DataX-rad
  717. message.channel.send(`risultato fratto di X1 [${X1X}/${Data2X}]\n`);
  718. message.channel.send(`risultato fratto di X2 [${X2X}/${Data2X}]\n`);
  719. DataD=(DataX+rad)/Data2X;
  720. DataX=(DataX-rad)/Data2X;
  721. if(DataX===DataD){
  722. return message.channel.send(`l'equazione di secondo grado ha sola una soluzione [${DataD}]`);
  723. }
  724. else
  725. {
  726. return message.channel.send(`l'equazione di secondo grado ha due soluzioni [${DataD}] e [${DataX}]`);
  727. }
  728. return 0;
  729. }
  730. if(command === "azzera"){
  731. DataN=0;
  732. DataADD=0;
  733. return message.reply(`il Numero è stato resettato`)
  734. }
  735.  
  736. ///-------------GIOCO TABELLINE-------------///
  737. if(command==="game"){
  738. if(TContaT>1){
  739. return message.reply(`Il gioco è gia stato iniziato\nStavo chiedendo quale era quale è il risultato tra \"${T1T} X ${T2T}\" Rispondi con \"+tab (Risposta)\"\n`)
  740. }
  741.  
  742. message.channel.send(`Il gioco è iniziato digita \"+resetgame\" se si vuole chiudere e resettare il gioco`);
  743. TContaT++
  744. TDifficoltaEffettivaT=1
  745. TDifficoltaT=10;
  746. T1T = (Math.floor(Math.random() * 10)+ 1);
  747. T2T = (Math.floor(Math.random() * 10)+ 1);
  748. TRisultatoT=T1T*T2T
  749. return message.channel.send(`Livello di difficolta:\"${TDifficoltaEffettivaT}\"\n${TContaT}) quale è il risultato tra \"${T1T} X ${T2T}\" Rispondi con \"+tab (Risposta)\" o \"+tab reroll\" se si vuole cambiare domanda\n`);
  750. }
  751.  
  752.  
  753. ///PRENDERE RISULTATO E NUOVA
  754. if(command==="tab"){
  755. var TdatoT = args.join(" ");
  756. message.delete().catch;
  757. if(TContaT<0){
  758. return message.reply(`Il gioco non è ancora partito, digita +game per far partire il gioco'`)
  759.  
  760. }
  761.  
  762.  
  763. if(TdatoT !== "reroll"){ ///per rerollare
  764. ///SE IL RISULTATO é CORRETTO///
  765.  
  766. if(TRisultatoT===Number(TdatoT) || TdatoT === "asdrubale"){
  767. TPuntoT++
  768. message.reply(`bravo yee il risultato e' proprio\"${TdatoT}\" siamo a ${TPuntoT} Punti'`)
  769.  
  770. ///SALIRE DI LIVELLO///
  771. if(TPuntoT>TLivelloT){
  772. TDifficoltaT++;
  773. TDifficoltaEffettivaT++;
  774. TlivelloT=TLivelloT+2
  775. message.channel.send(`Il livello del gioco è salito, Livello corrente ${TDifficoltaEffettivaT}`)
  776. }
  777.  
  778. }
  779.  
  780. ///SE IL RISULTATO é SBAGLIATO///
  781. else{
  782. TPuntoT--
  783. if(TDifficoltaEffettivaT<-14){
  784. message.reply(`Mi fai schifo il risultato non è ${TdatoT}, la risposta giusta è ${TRisultatoT} siamo a ${TPuntoT} Punti`)
  785.  
  786. }
  787. else{message.reply(`Sei la vergona del popolo italiano il risultato non è ${TdatoT}, la risposta giusta è ${TRisultatoT} siamo a ${TPuntoT} Punti`)}
  788.  
  789. ///SCENDERE DI LIVELLO///
  790. if(TPuntoT<TLivelloT){
  791. TDifficoltaT--;
  792. TDifficoltaEffettivaT--;
  793. TlivelloT=TLivelloT-2
  794.  
  795. message.channel.send(`Il livello del gioco è sceso, Livello corrente ${TDifficoltaEffettivaT}`)
  796. }
  797. }
  798. }
  799.  
  800. ///ROUTINE DI DOMANDA///
  801. ///VARIABILI///
  802. ///Classico
  803. TContaT++
  804. T1T = (Math.floor(Math.random() * TDifficoltaT)+ 1);
  805. T2T = (Math.floor(Math.random() * TDifficoltaT)+ 1);
  806. TRisultatoT=T1T*T2T
  807.  
  808. ///Modalità Demente
  809. if(TDifficoltaEffettivaT<-14)
  810. {
  811. T1T = 0
  812. T2T = 0
  813. TRisultatoT=T1T+T2T
  814. return message.channel.send(`Livello di difficolta:\"Demente\"\n${TContaT}) quale è il risultato tra \"${T1T} + ${T2T}\" La risposta è 0 NON PROVARE A SBAGLIARLA ora rispondi con \"+tab 0\" o \"+tab 0\" se si vuole rispondere con 0 alla domanda\n`);
  815. }
  816. ///Modalità PRO 15
  817. if(TDifficoltaEffettivaT>14){
  818. T1T = (Math.floor(Math.random() * TDifficoltaT)+ 1);
  819. T2T = (Math.floor(Math.random() * TDifficoltaT)+ 1);
  820. T3T = (Math.floor(Math.random() * 10)+ 1);
  821. TRisultatoT=T1T*T2T*T3T
  822. return message.channel.send(`Livello di difficolta:\"${TDifficoltaEffettivaT}\"\n${TContaT}) quale è il risultato tra \"${T1T} X ${T2T} X ${T3T}\" Rispondi con \"+tab (Risposta)\" o \"+tab reroll\" se si vuole cambiare domanda \n`);
  823.  
  824. }
  825. return message.channel.send(`Livello di difficolta:\"${TDifficoltaEffettivaT}\"\n${TContaT}) quale è il risultato tra \"${T1T} X ${T2T}\" Rispondi con \"+tab (Risposta)\" o \"+tab reroll\" se si vuole cambiare domanda\n`);
  826. }
  827. ///Modalità PRO 100
  828. ///SELEZIONE LIVELLO///
  829. if(command==="livello"){
  830. var TDifficoltaInizialeT = args.join(" ");
  831. message.catch;
  832. TDifficoltaEffettivaT=Number(TDifficoltaInizialeT)
  833. TDifficoltaT=(Math.floor(TDifficoltaEffettivaT/2))
  834. return message.channel.send(`il livello è stato impostato a ${TDifficoltaEffettivaT}`)
  835. }
  836.  
  837. ///RESET GAME///
  838.  
  839. if(command==="resetgame"){
  840. message.catch;
  841. TDifficoltaEffettivaT=0
  842. TContaT=0
  843. TPuntoT=0;
  844. TDifficoltaT=10;
  845. TLivelloT=4;
  846. return message.reply(`il gioco è stato resettato digitare +game per farlo ripartire`)
  847.  
  848. }
  849.  
  850.  
  851.  
  852. if(command==="infogame"){
  853. var infogame = new Discord.RichEmbed()
  854. .setAuthor(" ")
  855. .setColor("#3399ff")
  856. .setTitle("Istruzioni gioco delle tabelline")
  857. .setDescription("io sono AcidScript creato da Jordimario\ne modestamente sono il miglior bot che potresti mai avere\nFluttershy Is Best Pony")
  858. .addField("Comandi",`+game Per far partire il gioco\n+tab [valore] per rispondere al quesito\n+tab ["reroll"] per cambiare quesito\n+livello (Numero) per scegliere la difficolta del gioco\n+resetgame per resettare il gioco\n`,false)
  859.  
  860. .setThumbnail(client.user.avatarURL)
  861. return message.channel.sendEmbed(infogame);
  862. }
  863. ///FINE GIOCO TABELLINE///
  864.  
  865.  
  866.  
  867.  
  868.  
  869. if(command === "carry"){
  870. return message.channel.send(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds in ${client.size}.`);
  871. }
  872.  
  873. if(command === "eliminati"){
  874. return message.channel.send(`sono stati eliminati ${RollBacK} Messaggi da quando io ho iniziato questa sessione.`);
  875. }
  876.  
  877.  
  878. if(command === "rollback"){
  879. return message.channel.send(`Log dei messaggi\n${MessLoG}`);
  880. }
  881.  
  882. if(command === "orario"){
  883. var orologio = new Date()
  884. var secondi = orologio.getSeconds()
  885. var minuti = orologio.getMinutes()
  886. var ore = orologio.getHours()
  887. return message.channel.send(`l'ora esatta ${ore}:${minuti}:${secondi}`);
  888. }
  889. ////------≠≠≠----INIZIO FUNZIONI TIMER----≠≠≠--------////
  890. ///Timer///
  891. if(command === "timer" || command === "statotimer"){
  892. var orologio = new Date();
  893.  
  894. if(BooL===1)
  895. {
  896. if(command === "timer")
  897. mes = await message.channel.send("Sto fermando il timer");
  898. else
  899. mes = await message.channel.send("Sto Controllando lo stato del timer")
  900. var secondi = orologio.getSeconds();
  901. var minuti = orologio.getMinutes();
  902. var ore = orologio.getHours();
  903. var millisecondi = orologio.getMilliseconds()
  904. var datogiorno = orologio.getDate()
  905. var GiorniPassati = 0
  906.  
  907. message.channel.send(`il timer ERA partito il giorno ${datogiorno} alle ore: ${OoreO}:${OminutiO}:${OsecondiO}:${OmillisecondiO}`);
  908. if(command === "timer")
  909. message.channel.send(`il timer si è fermato il giorno ${datogiorno} alle ore: ${ore}:${minuti}:${secondi}:${millisecondi}`);
  910. else
  911. message.channel.send(`oggi è il giorno ${datogiorno} e sono le ore: ${ore}:${minuti}:${secondi}:${millisecondi}`);
  912. millisecondi= Number(millisecondi) - Number(OmillisecondiO);
  913. secondi=Number(secondi) - Number(OsecondiO);
  914. minuti = Number(minuti) - Number(OminutiO);
  915. ore = Number(ore) - Number(OoreO);
  916. ///Riporto Secondi///
  917. if(Number(millisecondi)<0){
  918. millisecondi=millisecondi+1000;
  919. secondi--
  920. }
  921. ///Riporto Secondi///
  922. if(Number(secondi)<0){
  923. secondi=secondi+60;
  924. minuti--
  925. }
  926. ///Riporto Minuti
  927. if(Number(minuti)<0){
  928. minuti=minuti+60;
  929. ore--
  930. }
  931. ///Riporto Ore
  932. if(Number(ore)<0){
  933. ore=ore+24;
  934.  
  935.  
  936. }
  937. if(Number(ore)<0){
  938. GiorniPassati++
  939. }
  940. if(command === "timer")
  941. BooL=0;
  942.  
  943. message.channel.send(`sono passati: ${GiorniPassati} Giorni ˜ ${ore} Ore ˜ ${minuti} Minuti ˜ ${secondi} Secondi ˜ ${millisecondi} millisecondi`);
  944. return mes.edit(`---Timer Con Latenza di ${mes.createdTimestamp - message.createdTimestamp}ms. ed API di Latenza ${Math.round(client.ping)}ms---`)
  945. }
  946. OmillisecondiO = orologio.getMilliseconds()
  947. OsecondiO = orologio.getSeconds()
  948. OminutiO = orologio.getMinutes()
  949. OoreO = orologio.getHours()
  950. ODatoGiornoO= orologio.getDate()
  951. BooL=1
  952. return message.channel.send(`il timer è partito il giorno ${ODatoGiornoO} alle ore: ${OoreO}:${OminutiO}:${OsecondiO}:${OmillisecondiO}`);
  953. }
  954. ///Set Timer///
  955.  
  956. if(command==="settimer"){
  957. var TimerSeT = args.join(" ");
  958. message.catch;
  959. var nan=0
  960. var GiornoSeT=0
  961. var OraSeT=0
  962. var MinutoSeT=0
  963. var SecondoSeT=0
  964. var MillisecondoSeT=0
  965.  
  966. GiornoSeT=args[0]
  967. OraSeT=args[1]
  968. MinutoSeT=args[2]
  969. SecondoSeT=args[3]
  970. MillisecondoSeT=args[4]
  971. message.channel.send(`La DeadLine è settata il giorno ${GiornoSeT} alle ore: ${OraSeT}:${MinutoSeT}:${SecondoSeT}sec:${MillisecondoSeT}ms`);
  972.  
  973. while(new Date().getMilliseconds()<=MillisecondoSeT && new Date().getSeconds()<=SecondoSeT && new Date().getMinutes()<=MinutoSeT && new Date().getHours()<=OraSeT)
  974. {
  975. nan++
  976.  
  977.  
  978. }
  979. return message.channel.send(`Il Tempo è finito`);
  980.  
  981. }
  982. ///Azioni in "x" secondi///
  983. if(command==="faiazioniper"){
  984. var TempoInMilliSecondi = args.join(" ")
  985. TempoInMilliSecondi=Number(TempoInMilliSecondi)
  986. TempoInSecondi=0
  987. TempoInMinuti=0
  988. TempoInOre=0
  989. TempoInGiorni=0
  990.  
  991. ///Convertitore millisecondi in tempo effettivo
  992. if(TempoInMilliSecondi<0)
  993. return message.channel.send("Non posso fare nessuna azione se il tempo è gia passato")
  994.  
  995. while(TempoInMilliSecondi>=1000){
  996. TempoInMilliSecondi=TempoInMilliSecondi-1000
  997. TempoInSecondi++
  998. }
  999.  
  1000. while(TempoInSecondi>=60){
  1001. TempoInSecondi=TempoInSecondi-60
  1002. TempoInMinuti++
  1003. }
  1004. while(TempoInMinuti>=60){
  1005. TempoInMinuti=TempoInMinuti-60
  1006. TempoInOre++
  1007. }
  1008. while(TempoInOre>=24)
  1009. {
  1010. TempoInOre=TempoInOre-24
  1011. TempoInGiorni++
  1012. }
  1013. message.channel.send(`faccio un azione per ${TempoInGiorni} ${TempoInOre} Ore ${TempoInMinuti} Minuti ${TempoInSecondi} Secondi ${TempoInMilliSecondi} Millisecondi`)
  1014.  
  1015. ///Settaggio tempo che deve trascorrere
  1016. var orologio = new Date();
  1017. millisecondi=orologio.getMilliseconds()+TempoInMilliSecondi
  1018. secondi=orologio.getSeconds()+TempoInSecondi
  1019. minuti=orologio.getMinutes()+TempoInMinuti
  1020. ore=orologio.getHours()+TempoInOre
  1021. ///Riporto Secondi///
  1022. while(Number(millisecondi)>=1000){
  1023. millisecondi=millisecondi-1000;
  1024. secondi++
  1025. }
  1026. ///Riporto Secondi///
  1027. while(Number(secondi)>=60){
  1028. secondi=secondi-60;
  1029. minuti++
  1030. }
  1031. ///Riporto Minuti
  1032. while(Number(minuti)>=60){
  1033. minuti=minuti-60;
  1034. ore++
  1035. }
  1036. ///Riporto Ore
  1037. while(Number(ore)>=24){
  1038. ore=ore-24;
  1039. giorni++
  1040. }
  1041. message.channel.send(`finiro alle ore ${ore}:${minuti}:${secondi}sec:${millisecondi}ms`)
  1042.  
  1043. ///Azioni
  1044. var i=0
  1045. var azione = await message.channel.send(`*Azioni in Corso...*`)
  1046. while(i!==-1){
  1047. if(new Date().getMilliseconds()>=millisecondi && new Date().getSeconds()>=secondi && new Date().getMinutes()>=minuti && new Date().getHours()>=ore)
  1048. {
  1049.  
  1050. return azione.edit(`ho finito il tempo facendo ${i} azioni con uno sforo di: ${azione.createdTimestamp - message.createdTimestamp}ms. ed API di Latenza ${Math.round(client.ping)}ms`);
  1051.  
  1052. }
  1053. else{
  1054. i++;
  1055. }
  1056. }
  1057. return azione.edit("ho finit")
  1058. }
  1059.  
  1060.  
  1061. ///Proprieta now()///
  1062. if(command==="temporimanente"){
  1063.  
  1064. }
  1065.  
  1066.  
  1067.  
  1068.  
  1069. if(command === "titololista"){
  1070. titolo=args.join(" ")
  1071.  
  1072. function Ricerca(lista){///funzione per trovare la posizione del numero/oggetto nella lista
  1073. return lista===args[0]
  1074. }
  1075. Number(args[0])
  1076. try{
  1077. if(isNaN(args[0])) throw "non è un numero"
  1078. if(args[0]>LunghezzA) throw "il numero non esiste nella lista"
  1079. if(args[0]<-1) throw "troppo piccolo"
  1080. }
  1081. catch(err){
  1082. return message.channel.send(err)
  1083. }
  1084. if(args[0]===1){
  1085. Trova=ListA.findIndex(Ricerca)-1
  1086. }
  1087. else
  1088. Trova=ListA.findIndex(Ricerca)-2
  1089.  
  1090.  
  1091. args.shift()///butta via il primo argomento
  1092. Titolo=args.join(" ")///leva gli spazzi di tutto l'argomento
  1093.  
  1094. ListA.splice(Trova,0,`\n**${Titolo}**`)///sostituisce la vecchiadata con la nuova
  1095.  
  1096.  
  1097. Frase = ListA.join(" ")
  1098. message.channel.send(`${Frase}`);
  1099. }
  1100.  
  1101. ///lista come unica stringa (obsoleto)
  1102.  
  1103. /*
  1104. if(command ==="lista"){
  1105. var Lista =args.join(" ");
  1106.  
  1107.  
  1108. var Lunghezza=0;
  1109.  
  1110. while(Lunghezza < args.length){
  1111. LunghezzA++
  1112.  
  1113. ListA.push(`\n**${new Date().getUTCHours().toPrecision(2)}:${new Date().getUTCMinutes().toPrecision(2)}** || **`,`${LunghezzA}`,`)** ${args[Lunghezza]}`,"");
  1114.  
  1115. Lunghezza++;
  1116.  
  1117. }
  1118.  
  1119.  
  1120. Frase = ListA.join("")
  1121. message.channel.send(`${Frase}`);
  1122. }*/
  1123. ///lista come vari oggetti in una stringa
  1124. //RegEXP per .toPrecision
  1125. /*var prec = /\.0/
  1126.  
  1127. function PuntoListaPerfettato(NumeroInLista, Parola){
  1128. this.Ora = function(){
  1129. //funzione per aggiungere uno zero se l'orario a solo una cifra
  1130. Ora = new Date().getUTCHours().toPrecision(2)
  1131. if(prec.test(Ora) == true){
  1132. Ora = Ora.replace(".0", "")
  1133. Ora = "0" + Ora
  1134. }
  1135. }
  1136.  
  1137. this.Minuti = function(){
  1138. //funzione per aggiungere uno zero se l'orario a solo una cifra
  1139. Minuti = new Date().getUTCMinutes().toPrecision(2)
  1140. if(prec.test(Minuti) == true){
  1141. Minuti = Minuti.replace(".0", "")
  1142. Minuti = "0" + Minuti
  1143. }
  1144. }
  1145. this.Numero = NumeroInLista
  1146. this.ParolaInLista = Parola
  1147. this.OrarioCompleto = function (){
  1148. return Orario = this.Ora + ":" + this.Minuti
  1149. }
  1150. this.PuntoInLista
  1151. }*/
  1152. ////------≠≠≠----CREA LISTA----≠≠≠--------////
  1153. //Costruttore
  1154. function OggettoLista(IndexN, Parola){
  1155. this.Ora = new Date().getUTCHours() //prende le ore
  1156. this.Minuti = new Date().getUTCMinutes() //prende i minuti
  1157. this.Index = IndexN+1 //associa l'index per umani
  1158. this.ParolaInLista = Parola //prende la della lista
  1159. this.Descrizione= "" //Descrizione del punto
  1160. this.SetDescrizione = function (NuovaDescrizione){ //funzione che cambia descrizione
  1161. this.Descrizione = NuovaDescrizione
  1162. }
  1163. this.OrarioCompleto = function (){ //funzione che unisce Ora e minuti
  1164. return Orario = this.Ora + ":" + this.Minuti
  1165. }
  1166. }
  1167. //Comando
  1168. //help lista:
  1169. //NOME: lista -- crea una lista
  1170. //SINOSSI: "prefix"lista [arg1], <arg2>, <argX>...
  1171. //DESCRIZIONE: Crea una lista con ora della pubblicazione dei argomenti inseriti. Per inserire piu argomenti inserire una virgola "," fra parola e parola
  1172. //PREFISSI COMPATIBILI: -dice(-same) -reset
  1173. //BUG:Discord non riuscirà piu a mandare i messaggio lista se la lista è troppo grande
  1174. //GUARDA ANCHE:
  1175. //STORIA:
  1176. //AUTHORS:
  1177. if(command ==="lista"){
  1178. var args=args.join(" ").split(",");//divide gli argomenti a seconda delle virgole
  1179. var i = 0//contatore
  1180. while(i < args.length){//continua finche gli argomenti non finiscono
  1181. var PuntoInLista = new OggettoLista(LunghezzA, args[i].trim())//Nuovo Oggetto Lista
  1182. ListaOGG.push(PuntoInLista);//spingi l'oggetto nella stringa ListaOGG (stringa di oggetti aka "lista effettiva")
  1183. ListaVisualizzabile.push(`\n**${ListaOGG[LunghezzA].OrarioCompleto()}** *||* **${ListaOGG[LunghezzA].Index})** ${ListaOGG[LunghezzA].ParolaInLista} ${ListaOGG[LunghezzA].Descrizione}`);//creazione lista
  1184. LunghezzA++;//incrementa sempre
  1185. i++//incrementa solo qui per poi resettarsi
  1186. }
  1187. args=ListaVisualizzabile.join(" ");//unisce tutti gli argomenti per visualizzare la lista
  1188. message.channel.send(`${args}`)//manda il messaggio
  1189. }
  1190.  
  1191. //
  1192. if(command==="lista-desc"){
  1193. ListaOGG[args[0]].SetDescrizione(args[1])
  1194. }
  1195.  
  1196. /*if(command ==="lista-dice"){
  1197. if(LunghezzA==0)
  1198. return message.channel.send("Non è presente Alcun elemento nella lista\nSe desideri aggiungerne digita *+lista [arg1], <arg2>, <argX>...*")
  1199. if(args[0]==undefined || args[0]==NaN)
  1200. DiceNumber=0
  1201. else
  1202. DiceNumber=args[0]
  1203. var Dice=Math.floor(Math.random()*LunghezzA)//sceglie il numero e lo memorizza
  1204. message.channel.send(`Ho scelto il punto **N.${ListaOGG[Dice].Index}** *${ListaOGG[Dice].ParolaInLista}*`)
  1205. }*/
  1206.  
  1207.  
  1208. function diceFunction(DiceLength,DiceRolls,SameNumber){
  1209. var DiceData=[] //Dichiara il vettore da esportare
  1210. console.log(typeof(SameNumber))
  1211. while(DiceRolls>0){ //il numero di dadi diminuira fino a 0
  1212. DiceData[DiceRolls]=Math.floor(Math.random()*DiceLength); //Inserice un numero casuale nel vettore
  1213. DiceRolls--; //Fa diminuire il numero di Dadi
  1214. }
  1215. return DiceData
  1216. }
  1217.  
  1218.  
  1219.  
  1220. if(command ==="lista-dice"){
  1221. var Visualizza=[]
  1222. if(LunghezzA==0)
  1223. return message.channel.send("Non è presente Alcun elemento nella lista\nSe desideri aggiungerne digita *+lista [arg1], <arg2>, <argX>...*");
  1224. if(args[0]==undefined || Number(args[0])===NaN || args[0]==null)
  1225. var DiceNumber=1;
  1226. else
  1227. var DiceNumber=args[0];
  1228. var Same=args[1]
  1229. var Dice=diceFunction(LunghezzA,DiceNumber,Same);
  1230. Visualizza.push(`Ho scelto il punto **N.${ListaOGG[Dice[DiceNumber]].Index}** *${ListaOGG[Dice[DiceNumber]].ParolaInLista}*`);
  1231. DiceNumber--;
  1232. while(1 < DiceNumber){
  1233. Visualizza.push(`, **N.${ListaOGG[Dice[DiceNumber]].Index}** *${ListaOGG[Dice[DiceNumber]].ParolaInLista}* `);
  1234. DiceNumber--;
  1235. }
  1236. if(1 <= DiceNumber)
  1237. Visualizza.push(`E il **N.${ListaOGG[Dice[DiceNumber]].Index}** *${ListaOGG[Dice[DiceNumber]].ParolaInLista}.*`);
  1238. Visualizza=Visualizza.join(" ");
  1239. message.channel.send(Visualizza);
  1240. }
  1241.  
  1242. if(command ==="lista-reset"){
  1243. ListaOGG = [];
  1244. ListaVisualizzabile=[];
  1245. LunghezzA=0;
  1246. message.reply("La lista è Stata resettata")
  1247. }
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255. if(command ==="lista-reset"){
  1256. ListaOGG = [];
  1257. ListaVisualizzabile=[];
  1258. LunghezzA=0;
  1259. message.reply("La lista è Stata resettata")
  1260. }
  1261. /*
  1262. if(command ==="lista-dice"){
  1263. if(LunghezzA==0)
  1264. return message.channel.send("Non è presente Alcun elemento nella lista\nSe desideri aggiungerne digita *+lista [arg1], <arg2>, <argX>...*")
  1265. if(args[0]==undefined || args[0]==NaN)
  1266. DiceNumber=0
  1267. else
  1268. DiceNumber=args[0]
  1269. var Dice=Math.floor(Math.random()*LunghezzA)//sceglie il numero e lo memorizza
  1270. message.channel.send(`Ho scelto il punto **N.${ListaOGG[Dice].Index}** *${ListaOGG[Dice].ParolaInLista}*`)
  1271. }
  1272.  
  1273.  
  1274. if(command ==="lista-dice"){
  1275. var Dice=[]
  1276. var i=0
  1277. if(LunghezzA==0)
  1278. return message.channel.send("Non è presente Alcun elemento nella lista\nSe desideri aggiungerne digita *+lista [arg1], <arg2>, <argX>...*")
  1279. if(args[0]==undefined || args[0]==NaN)
  1280. DiceNumber=1
  1281. else
  1282. DiceNumber=args[0];
  1283. diceFunction(Dice,LunghezzA,DiceNumber)
  1284.  
  1285. while(i < DiceNumber){
  1286. message.channel.send(`Ho scelto il punto **N.${ListaOGG[Dice[i]].Index}** *${ListaOGG[Dice[i]].ParolaInLista}*`)
  1287. i++
  1288. }}
  1289.  
  1290. if(command ==="listaerr"){
  1291. var Lista =args.join(" ");
  1292.  
  1293. var Cicli = 0
  1294.  
  1295. var Lunghezza=0;
  1296. ///ciclo per rilevare dati uguali nella lista inviata
  1297. while(Cicli < args.length){
  1298. Arr=args.splice(Cicli,1)
  1299. if(Arr.includes(args[Cicli])===true){
  1300. args=Arr
  1301. }
  1302.  
  1303. Cicli++
  1304. }
  1305.  
  1306. while(Lunghezza < args.length){
  1307.  
  1308. if(ListA.includes(args[Lunghezza])===false){///se l'elemento è gia nella lista il programma la salta
  1309. IndexListA++
  1310. ListA.push(`\n**${new Date().getHours().toPrecision(2)}:${new Date().getMinutes().toPrecision(2)}** ||`,`${IndexListA}`,`${args[Lunghezza]}`);
  1311.  
  1312.  
  1313. Lunghezza++;
  1314.  
  1315. }
  1316.  
  1317.  
  1318. message.channel.send(`${ListA}`);
  1319.  
  1320.  
  1321. }
  1322. }*/
  1323. if(command === "data"){
  1324. args.join(" ")
  1325.  
  1326.  
  1327. function Ricerca(lista){///funzione per trovare la posizione del numero/oggetto nella lista
  1328. return lista===args[0]
  1329. }
  1330. if(Number.isNaN(args[0])===false)///se è il numero diminuisci l'indice di 1 per la data
  1331. Trova=ListA.findIndex(Ricerca)-1
  1332. else
  1333. Trova=ListA.findIndex(Ricerca)-2///se è l'oggetto diminuisce l'indice di 2 per la data
  1334.  
  1335. args.shift()///butta via il primo argomento
  1336. descrizione=args.join(" ")///leva gli spazzi di tutto l'argomento
  1337. ListA.splice(Trova,1,`\n**${descrizione}** || **`)///sostituisce la vecchiadata con la nuova
  1338. Frase = ListA.join(" ")
  1339. message.channel.send(`${Frase}`);
  1340.  
  1341. }
  1342. if(command ==="descrizione"){
  1343. args.join(" ")
  1344.  
  1345.  
  1346. function Ricerca(lista){
  1347. return lista===args[0]
  1348. }
  1349. if(Number.isNaN(args[0])===false)
  1350. Trova=ListA.findIndex(Ricerca)+2
  1351. else
  1352. Trova=ListA.findIndex(Ricerca)+1
  1353. args.shift()
  1354. descrizione=args.join(" ")
  1355. ListA.splice(Trova,1,`: ${descrizione}`)
  1356. Frase = ListA.join(" ")
  1357. message.channel.send(`${Frase}`);
  1358.  
  1359.  
  1360.  
  1361. }
  1362.  
  1363. if(command ==="colore"){
  1364. Discorso=args.join(" ")
  1365. Discorso=Discorso.fontcolor("green");
  1366. return alert(Discorso)
  1367. }
  1368. if(command ==="nome"){
  1369. var ProvaA = args.join(" ");
  1370. message.catch;
  1371. client.bot.username
  1372. }
  1373. if(command ==="addami"){
  1374.  
  1375. return message.author.send("subito")
  1376. return author.addFriend
  1377. }
  1378.  
  1379. if(command ==="parlami"){
  1380.  
  1381. message.reply("subito")
  1382. return client.author.addFriend
  1383. }
  1384. if(command ==="invita"){
  1385.  
  1386. message.reply("subito")
  1387.  
  1388. client.generateInvite(['SEND_MESSAGES', 'MANAGE_GUILD', 'MENTION_EVERYONE'])
  1389. return
  1390. client.user.createGuild("prova")
  1391. message.author.addMember
  1392. }
  1393.  
  1394. if(command === "incognita"){
  1395. var DataI = args.join(" ");
  1396. message.catch
  1397. N=args[0]
  1398. X=args[1]
  1399. X2X=args[2]
  1400. return message.channel.send(`N=${N} X=${X} X2=${X2X}`)
  1401.  
  1402.  
  1403. }
  1404. if(command === "incognita"){
  1405. var DataI = args.join(" ");
  1406. message.catch
  1407. N=args[0]
  1408. X=args[1]
  1409. X2X=args[2]
  1410. return message.channel.send(`N=${N} X=${X} X2=${X2X}`)
  1411.  
  1412.  
  1413. }
  1414. if(command === "incognitaa"){
  1415.  
  1416. return message.channel.send(`N=${N} X=${X} X2=${X2X}`)
  1417.  
  1418.  
  1419. }
  1420. ///-------------------Esercizi Embads--------------------///
  1421. ///prova embads
  1422. if(command === "info"){
  1423. var Botinfo = new Discord.RichEmbed()
  1424. .setAuthor("Acidscript 0.9 Alpha")
  1425. .setColor("#ffff66")
  1426. .setTitle("Presentazione")
  1427. .setDescription("io sono AcidScript creato da Jordimario\nsono uno dei primi modelli di Pony-Bot e modestamente sono anche il migliore\n")
  1428.  
  1429. .setThumbnail(client.user.avatarURL)
  1430. return message.channel.sendEmbed(Botinfo);
  1431. }
  1432. if(command === "comandi"){
  1433. var Botinfo = new Discord.RichEmbed()
  1434. .setAuthor("Acidscript 0.9 Alpha")
  1435. .setColor("#66ffff")
  1436. .setTitle("segue Lista dei Comandi")
  1437. .setDescription("")
  1438. .addField("Comandi Matematici",`+add\\del\\mul\\div addiziona detrarre moltiplica dividi`,false)
  1439. .addField("Comandi Timer",`+timer serve per far partire e fermare il timer`,false)
  1440.  
  1441. .setThumbnail("https://i.imgur.com/SnGXv8j.png")
  1442. return message.channel.sendEmbed(Botinfo);
  1443. }
  1444. ///dirà il nome di chi ha inviato il messaggio senza il simbolo @
  1445. if (command==="saymyname"){
  1446.  
  1447.  
  1448. autore = String(message.author)
  1449. console.log(autore)
  1450. autore = autore.replace(/@/,"")
  1451. message.channel.send(`${autore}`)
  1452. }
  1453. ///-------------------Parlami--------------------///
  1454. if (command==="parlami"){
  1455. /*serviranno i comandi:
  1456. switch; regExp
  1457. test; exec
  1458. random math.round
  1459. */
  1460. }///-------------------Esercizi RegExp--------------------///
  1461. if (command==="indentifica"){
  1462. DaIndetificare=args.join()
  1463. var NumeroCase
  1464. var indentificaYT=/(\b(https|http):\W{2}(www\.youtube\.com|youtu\.be)\W(watch\?v=)?\w+\b)/g //Link Youtube
  1465. var indentificaEMail=/(\b\w+@\w+\.(com|net|gov)\b)/g //Link Youtube
  1466. if(indentificaYT.test(DaIndetificare)===true){
  1467. NumeroCase=0
  1468. }
  1469.  
  1470. if(indentificaEMail.test(DaIndetificare)===true){
  1471. NumeroCase=1
  1472. }
  1473.  
  1474. switch(NumeroCase) {
  1475. case 0:
  1476. message.channel.send("è un link youtube")
  1477. break;
  1478. case 1:
  1479. message.channel.send("è un indirizzo e-mail")
  1480. break;
  1481. default:
  1482. return message.channel.send("Non riesco ha capire cosa tu abbia mandato, è magari una Password?")
  1483. }
  1484. }
  1485. ///-------------------Esercizi Oggetti--------------------///
  1486. if(command==="identita"){
  1487. args.join(" ")
  1488. function IdentikKit(Nome, Cognome, Specie, Sesso, Eta, MiPiace, NonMiPiace, Occhi, Pelle, Lunghezza, Larghezza, LuogoNatale){
  1489. this.Nome = Nome
  1490. this.Cognome = Cognome
  1491. this.Specie = Specie
  1492. this.Sesso = Sesso
  1493. this.Eta = Eta
  1494. this.MiPiace = MiPiace
  1495. this.NonMiPiace = NonMiPiace
  1496. this.Occhi = Occhi
  1497. this.Pelle = Pelle
  1498. this.Lunghezza = Lunghezza
  1499. this.Larghezza = Larghezza
  1500. this.LuogoNatale = LuogoNatale
  1501. }
  1502.  
  1503. ///-------------------Esercizi Discord.js--------------------///
  1504. }
  1505.  
  1506. if(command==="iosono"){
  1507. ruolo=args.join()
  1508. message.delete().catch
  1509. if(ruolo === "prolatte")
  1510. myRole = message.guild.roles.find("name", "Pro-Latte");
  1511. if(ruolo === "antilatte")
  1512. myRole = message.guild.roles.find("name", "Anti-Latte");
  1513. console.log(myRole)
  1514. membro=message.author
  1515. membro.addRole(role).catch(console.error);
  1516. return message.channel.send(`ora ${message.author} è ${MyRole}`)
  1517. }
  1518.  
  1519.  
  1520. if(command === "purge") {
  1521. // This command removes all messages from all users in the channel, up to 100.
  1522.  
  1523. // get the delete count, as an actual number.
  1524. const deleteCount = parseInt(args[0], 10);
  1525.  
  1526. // Ooooh nice, combined conditions. <3
  1527. if(!deleteCount || deleteCount < 2 || deleteCount > 100)
  1528. return message.reply("Please provide a number between 2 and 100 for the number of messages to delete");
  1529.  
  1530. // So we get our messages, and delete them. Simple enough, right?
  1531. const fetched = await message.channel.fetchMessages({count: deleteCount});
  1532. message.channel.bulkDelete(fetched)
  1533. .catch(error => message.reply(`Couldn't delete messages because of: ${error}`));
  1534. }
  1535. });
  1536.  
  1537. client.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement