From 0bae28089175e9d7dd4c4a05ced1f91d9cccb754 Mon Sep 17 00:00:00 2001 From: ZyLacx Date: Fri, 27 Nov 2020 21:31:02 +0100 Subject: [PATCH] Create node.js --- node.js | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 node.js diff --git a/node.js b/node.js new file mode 100644 index 0000000..1df62d8 --- /dev/null +++ b/node.js @@ -0,0 +1,208 @@ +const Discord = require('discord.js'); +const client = new Discord.Client(); +var author = " "; +var storedLink = " "; +var link; +var messageId; +var yes = false; +var linkNo = 0; +var now = new Date().getTime(); +var sjl = new Date("2021-03-16").getTime(); +var mat = new Date("2021-03-19").getTime(); +var dokument = new Date("2021, 3, 5, 13:00").getTime(); +var martinovOdpocet = new Date("2020-12-25").getTime(); +var remainingSjl = sjl - now; +var remainingMat = mat - now; +var remainingDok = dokument - now; +var remainingMartin = martinovOdpocet - now; +var left = 0; +var ping = 604800; +var countdownChannel; +var first = true; +var setNew = true; + +client.once('ready', () => { + console.log('Im online!'); +}); + +client.on('message', message => { + + const args = message.content.split(' '); + + //storedMessages.push(message.content); + + let msg = message.content.toLowerCase(); + + + if (msg.startsWith("countdownchannel") && args.length == 2 && message.mentions.channels.first()){ + let countdownId = message.mentions.channels.first().id; + countdownChannel = client.channels.cache.get(countdownId); + if(setNew == true){ + var myInterval = setInterval(countdowns, 1000, 1); + setNew == false; + } + else{ + } + } + + + if (message.attachments.first() === undefined) { + } + + if (message.content.startsWith("http")) { + author = message.author.id; + storedLink = message.content; + messageId = message.id; + yes = true; + linkNo++; + } + else if (message.attachments.first() != undefined) { + let storedMessage = message.attachments.first(); + storedLink = new Discord.MessageAttachment(storedMessage.url); + messageId = message.id; + author = message.author.id; + yes = true; + linkNo++; + } + + if (msg.startsWith("henlo") && message.author.bot == false) { + var emojis = ["🥰", "🐄", "🐮", "❤️", "👋", "🤠", "😊"]; + let randomNum = Math.floor(Math.random() * 7); + message.channel.send("Henlooo " + message.author.username + " " + emojis[randomNum]); + } + else if (message.mentions.channels.first() && yes) { + + if (args.length === 1) { + message.react('🐮'); + let channelId = ""; + let channelIdArray = message.content.split(''); + channelIdArray.splice(0, 2); + channelIdArray.pop(); + + for (i = 0; i < channelIdArray.length; i++) { + channelId += channelIdArray[i]; + } + + message.delete({ timeout: 5000 }); + + var toDelete = message.channel.messages.cache.get(messageId); + toDelete.delete(); + + let getChannel = client.channels.cache.get(channelId); + getChannel.send("Posted by <@!" + author + ">"); + getChannel.send(storedLink); + } + + yes = false; + } + else if (msg.startsWith("how ye") && message.author.bot === false) { + let randomNum = Math.floor(Math.random() * 5); + var responses = ["Not bad, how yee?", "MOOdy", "A bit sad 😢", "Good, how yee?", "I'm fine, how yee?"]; + message.channel.send(responses[randomNum]); + } + else if (msg.startsWith("tylko jedno")) { + message.channel.send("Koksu pięć gram odlecieć sam"); + } + else if (msg.startsWith("time?") || msg.startsWith("left?")){ + countdowns(0); + } + +}); + +function countdowns(plus) { + + var february = new Date("February, 2021"); + + var lastM = february - now; + + remainingSjl = calcTime(sjl - now); + remainingMat = calcTime(mat - now); + remainingDok = calcTime(dokument - now); + remainingMartin = calcTime(martinovOdpocet - now); + + const embed = new Discord.MessageEmbed() + .addField("Čas do odovzdania dokumentácie: ", remainingDok) + .addField("‎", "‎") + .addField("Čas do maturity zo Slovenského jazyka: ", remainingSjl) + .addField("‎", "‎") + .addField("Čas do maturity z Matematiky ", remainingMat) + .addField("‎", "‎") + .addField("Martinov nenápadný odpočet: ", remainingMartin); + + + left += plus; + + if(first == true || plus == 0){ + first = false; + if(plus == 0){ + var random = Math.floor((Math.random() * 100) + 1);; + if(random == 1){ + let responseNo = Math.floor(Math.random() * 3); + var responses = ["idk", "to by si mal vedieť 😉", "nie"]; + countdownChannel.send(responses[responseNo]); + } + else{ + countdownChannel.send(embed); + } + } + else { + countdownChannel.send(embed); + } + + } + + + if (left == ping) { + left = 0; + countdownChannel.send(embed); + } + + if (lastM < 0) + ping = 86400; + + if (remainingDok < 259200000) + ping = 3600; +}; + +function calcTime(time){ + + let returnNo = Math.floor(time / (1000 * 60 * 60 * 24)); + + if(returnNo > 5 && returnNo > 1) + returnNo += " dni "; + else if(returnNo == 1) + returnNo += " deň "; + else + returnNo += " dní "; + + let hours = Math.floor((time % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + + if(hours > 5 && returnNo > 1) + returnNo += hours + " hodiny "; + else if(returnNo == 1) + returnNo += hours + " hodina "; + else + returnNo += hours + " hodín "; + + let minutes = Math.floor(( time % ( 1000 * 60 * 60)) / (1000 * 60)); + + if(minutes > 5 && returnNo > 1) + returnNo += minutes + " minúty "; + else if(returnNo == 1) + returnNo += minutes + " minúta "; + else + returnNo += minutes + " minút "; + + let seconds = Math.floor(( time % ( 1000 * 60)) / 1000); + + if(seconds > 5 && returnNo > 1) + returnNo += seconds + " sekundy "; + else if(returnNo == 1) + returnNo += seconds + " sekunda "; + else + returnNo += seconds + " sekúnd "; + + return returnNo; +} + +client.login(process.env.token); \ No newline at end of file