MOOver.js/main.js
2022-01-14 18:56:01 +01:00

203 lines
6.4 KiB
JavaScript

const Discord = require('discord.js');
const client = new Discord.Client();
require("dotenv").config()
var hugGifs =
["https://c.tenor.com/9e1aE_xBLCsAAAAC/anime-hug.gif",
"https://c.tenor.com/Ct4bdr2ZGeAAAAAC/teria-wang-kishuku-gakkou-no-juliet.gif",
"https://c.tenor.com/ztEJgrjFe54AAAAd/hug-anime.gif",
"https://c.tenor.com/UhcyGsGpLNIAAAAd/hug-anime.gif",
"https://c.tenor.com/fLxZt7jo1YEAAAAd/loli-dragon.gif",
"https://c.tenor.com/qF7mO4nnL0sAAAAd/abra%C3%A7o-hug.gif"]
client.once('ready', () => {
console.log('Running');
});
client.on('message', gotMessage);
function gotMessage(message){
// console.log(message)
if(message.content.includes('https://media.discordapp.net')) {
if(message.content.includes('webm') || message.content.includes('mov') ||
message.content.includes('mp4')) {
let linkArr = message.content.split('https://media.discordapp.net');
message.channel.send('https://cdn.discordapp.com' +linkArr[1])
}
}
let msg = message.content.toLowerCase()
let content = message.content.trim()
var msgContentSplit = content.split(/[ ]+/);
if(message.reference != null){
move(message, msgContentSplit)
}
let isBot = message.author.bot
if (!isBot){
if (msg.includes("henlo")) {
henlo(message)
}
else if (msg.includes("how ye")) {
mood(message)
}
else if (msg.includes("tylko jedno")) {
message.channel.send("Koksu pięć gram odlecieć sam");
}
if (msgContentSplit[0] == "hug") {
hug(message)
}
else if (msgContentSplit[0] == "!say") {
say(message)
}
}
}
// Responses
function henlo(message){
var emojis = ["🥰", "🐄", "🐮", "❤️", "👋", "🤠", "😊"];
let randomNum = RNG(emojis.length);
message.channel.send("Henlooo " + message.author.username + " " + emojis[randomNum]);
}
function hug(message){
var mentionedUsers = message.mentions.users.values()
var mentionedUsersSize = message.mentions.users.size
var mentionedRoles = message.mentions.roles.values()
var mentionedRolesSize = message.mentions.roles.size
var msg = message.content.toLowerCase()
let randomNum = RNG(hugGifs.length)
let title = message.author.username + " hugs"
let embed;
if (mentionedUsersSize > 0 || mentionedRolesSize > 0){
let allMentions = ""
for (let i = 0; i < mentionedUsersSize; i++) {
let user = mentionedUsers.next()
allMentions = allMentions + ", <@" + user.value.id + ">"
}
for (let i = 0; i < mentionedRolesSize; i++) {
let role = mentionedRoles.next()
allMentions = allMentions + ", <@&" + role.value.id + ">"
}
allMentions = allMentions.slice(2)
embed = createEmbed(title, hugGifs[randomNum], allMentions)
message.channel.send(embed)
}
else if (msg.includes("@here") || msg.includes("all")){
embed = createEmbed(title, hugGifs[randomNum], "@here")
message.channel.send(embed)
}
else if (msg.includes("@everyone")){
embed = createEmbed(title, hugGifs[randomNum], "@everyone")
message.channel.send(embed)
}
else {
embed = new Discord.MessageEmbed().setImage(hugGifs[randomNum]).setColor(randomColor())
message.channel.send(embed)
}
}
function mood(message){
var responses = ["Not bad, how yee?", "MOOdy", "A bit sad 😢", "Good, how yee?", "I'm fine, how yee?"];
let randomNum = RNG(responses.length);
message.channel.send(responses[randomNum]);
}
function move(message, splits){
var replyChannelId;
var mentionedChannelId;
if(splits.length == 1 && message.mentions.channels.first() != undefined){
message.react('🐮')
var replyMessageId = message.reference.messageID;
mentionedChannelId = splits[0].substring(2, splits[0].length - 1);
replyChannelId = message.reference.channelID;
var replyChannel = client.channels.cache.get(replyChannelId);
// create embed
// add field for every attachment
// keď je tam emebed tak možnosť cez emotes či vymazať original post alebo nie
// zisti ako sa robia replies ako robia normálny usery
replyChannel.messages.fetch(replyMessageId).then(msg => {
let newMessage = []
let allAttachments = msg.attachments.values()
for (let i = 0; i < msg.attachments.size; i++){
let currAttachment = allAttachments.next().value
newMessage.push(new Discord.MessageAttachment(currAttachment.url))
}
if (newMessage.length > 0){
client.channels.cache.get(mentionedChannelId).send(newMessage).then(msgToEdit => {
msgToEdit.edit(`Sent by ${msg.author}\nmooved ${message.author}\n`)
})
msg.delete({timeout: 3000});
}
else {
if (msg.embeds.length > 0){
message.channel.send("Can't really moove embeds, sowwy :c")
}
else {
let newMsg = new Discord.MessageEmbed()
.setColor(randomColor())
.addField("MOO", `Sent by ${msg.author}\nmooved ${message.author}`)
.addField("Message:", msg.content)
client.channels.cache.get(mentionedChannelId).send(newMsg)
msg.delete({timeout: 3000})
}
}
});
message.delete({timeout: 3000});
}
}
function say(message){
let tmp = message.content.split("!say ")
let content = tmp[1]
message.channel.send(content)
message.delete()
}
function createEmbed(title, img, desc){
let embed = new Discord.MessageEmbed()
.setTitle(title)
.setImage(img)
.setDescription(desc)
.setColor(randomColor())
return embed
}
function randomColor() {
let color = '#';
for (let i = 0; i < 6; i++){
const random = Math.random();
const bit = (random * 16) | 0;
color += (bit).toString(16);
};
return color;
};
function RNG(max){
return Math.floor(Math.random() * max)
}
// narodeniny?
// vianoce, novy rok a tak
// hug cez tenor
// headpat cez tenor
// .gif
client.login(process.env.TOKEN)