MOOver.js/node.js
2020-11-27 21:31:02 +01:00

208 lines
No EOL
5.9 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);