MOOver.js/main.js

216 lines
6.9 KiB
JavaScript
Raw Normal View History

2022-01-25 23:16:51 +00:00
const { Client, Intents, MessageAttachment, MessageEmbed } = require('discord.js');
2022-01-24 18:05:21 +00:00
const client = new Client({ intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.GUILD_MESSAGE_REACTIONS
] });
2021-12-24 11:58:33 +00:00
2022-01-25 23:16:51 +00:00
/**
List of intents
https://discord.com/developers/docs/topics/gateway#privileged-intents
*/
2021-12-27 16:14:37 +00:00
require("dotenv").config()
2021-12-14 17:56:41 +00:00
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"]
2020-10-30 21:52:39 +00:00
client.once('ready', () => {
2021-12-14 17:56:41 +00:00
console.log('Running');
2020-10-30 21:52:39 +00:00
});
2022-01-25 23:16:51 +00:00
client.on("messageCreate", gotMessage);
2021-12-24 11:58:33 +00:00
function gotMessage(message){
2020-10-30 21:52:39 +00:00
2021-12-24 11:58:33 +00:00
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])
}
2020-10-30 21:52:39 +00:00
}
2020-11-03 11:22:42 +00:00
2021-12-31 23:21:15 +00:00
let msg = message.content.toLowerCase()
2021-12-24 11:58:33 +00:00
let content = message.content.trim()
2020-10-30 21:52:39 +00:00
2022-01-26 11:42:28 +00:00
const msgContentSplit = content.split(/[ ]+/);
/**
* reference can't be null => must be a reply to message
* must contain only one argument
* that argument mentions channel
*/
if(message.reference != null && msgContentSplit.length == 1
&& message.mentions.channels.first() != undefined){
move(message, msgContentSplit[0])
2021-12-24 11:58:33 +00:00
}
2020-10-30 21:52:39 +00:00
2021-12-31 23:44:57 +00:00
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")) {
2022-01-25 23:16:51 +00:00
message.channel.send("Koksu pięć gram odlecieć sam");
2021-12-31 23:44:57 +00:00
}
if (msgContentSplit[0] == "hug") {
hug(message)
}
2022-01-02 13:40:57 +00:00
else if (msgContentSplit[0] == "!say") {
say(message)
}
2021-12-24 11:58:33 +00:00
}
}
2021-12-10 15:17:07 +00:00
2021-12-24 11:58:33 +00:00
// Responses
function henlo(message){
var emojis = ["🥰", "🐄", "🐮", "❤️", "👋", "🤠", "😊"];
let randomNum = RNG(emojis.length);
2022-01-24 18:13:34 +00:00
message.reply("Henlooo " + message.author.username + " " + emojis[randomNum]);
2021-12-24 11:58:33 +00:00
}
2020-10-30 21:52:39 +00:00
2021-12-24 11:58:33 +00:00
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
2021-12-24 12:04:12 +00:00
2021-12-27 17:17:57 +00:00
var msg = message.content.toLowerCase()
2021-12-24 12:04:12 +00:00
2021-12-24 11:58:33 +00:00
let randomNum = RNG(hugGifs.length)
2021-12-27 17:17:57 +00:00
let title = message.author.username + " hugs"
let embed;
2021-12-24 11:58:33 +00:00
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 + ">"
2020-10-30 21:52:39 +00:00
}
2021-12-24 11:58:33 +00:00
allMentions = allMentions.slice(2)
embed = createEmbed(title, hugGifs[randomNum], allMentions)
2021-12-10 14:05:32 +00:00
}
2021-12-24 12:04:12 +00:00
else if (msg.includes("@here") || msg.includes("all")){
2021-12-24 11:58:33 +00:00
embed = createEmbed(title, hugGifs[randomNum], "@here")
2020-10-30 21:52:39 +00:00
}
2021-12-24 11:58:33 +00:00
else if (msg.includes("@everyone")){
embed = createEmbed(title, hugGifs[randomNum], "@everyone")
2020-10-31 12:54:36 +00:00
}
2021-12-24 12:04:12 +00:00
else {
2022-01-25 23:16:51 +00:00
embed = new MessageEmbed().setImage(hugGifs[randomNum]).setColor(randomColor())
2021-12-24 12:04:12 +00:00
}
2022-01-25 23:16:51 +00:00
message.channel.send({embeds: [embed]})
2021-12-24 11:58:33 +00:00
}
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);
2022-01-24 18:13:34 +00:00
message.reply(responses[randomNum]);
2021-12-24 11:58:33 +00:00
}
2022-01-26 11:42:28 +00:00
function move(message, channelId){
message.react('🐮')
const replyChannel = message.channel;
// const replyChannelId = message.reference.channelId;
// const replyChannel = client.channels.cache.get(replyChannelId);
const msgToMooveId = message.reference.messageId;
const mentionedChannelId = channelId.substring(2, channelId.length - 1)
// create embed
// add field for every attachment
// keď je tam emebed tak možnosť cez emotes či vymazať original post alebo nie
replyChannel.messages.fetch(msgToMooveId).then(msg => {
if (msg.attachments.size > 0){
// var exampleEmbed = new MessageEmbed()
// .setTitle('Some title')
// .setImage(allAttachments.next().value)
// .addField('Inline field title', 'Some value here', true);
// .addField("Original message: ", message.content)
let newMsgAttachments = []
2021-12-27 17:17:57 +00:00
let allAttachments = msg.attachments.values()
2022-01-26 11:42:28 +00:00
2021-12-27 17:17:57 +00:00
for (let i = 0; i < msg.attachments.size; i++){
let currAttachment = allAttachments.next().value
2022-01-26 11:42:28 +00:00
newMsgAttachments.push(new MessageAttachment(currAttachment.url))
2021-12-14 17:56:41 +00:00
}
2021-12-27 17:17:57 +00:00
2022-01-26 11:42:28 +00:00
client.channels.cache.get(mentionedChannelId).send({files: newMsgAttachments}).then(msgToEdit => {
msgToEdit.edit(`Sent by ${msg.author}\nmooved ${message.author}\n`)
})
setTimeout(() => msg.delete(), 3000);
}
else {
if (msg.embeds.length > 0){
message.channel.send("Can't really moove embeds yet, sowwy :c")
2021-12-27 17:17:57 +00:00
}
2022-01-14 17:56:01 +00:00
else {
2022-01-26 11:42:28 +00:00
const embed = new MessageEmbed()
.setColor(randomColor())
.addField("MOO", `Sent by ${msg.author}\nmooved ${message.author}`)
.addField("Message:", msg.content)
client.channels.cache.get(mentionedChannelId).send({embeds: [embed]})
setTimeout(() => msg.delete(), 3000);
2021-12-14 17:56:41 +00:00
}
2022-01-26 11:42:28 +00:00
}
});
setTimeout(() => message.delete(), 3000);
2021-12-24 11:58:33 +00:00
}
2022-01-02 13:40:57 +00:00
function say(message){
let tmp = message.content.split("!say ")
let content = tmp[1]
message.channel.send(content)
message.delete()
}
2021-12-14 18:38:36 +00:00
function createEmbed(title, img, desc){
2022-01-25 23:16:51 +00:00
let embed = new MessageEmbed()
2021-12-14 18:38:36 +00:00
.setTitle(title)
.setImage(img)
.setDescription(desc)
.setColor(randomColor())
return embed
}
2021-12-14 17:56:41 +00:00
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)
}
2021-12-19 18:03:23 +00:00
// narodeniny?
// vianoce, novy rok a tak
// hug cez tenor
// headpat cez tenor
// .gif
2021-12-24 12:04:12 +00:00
client.login(process.env.TOKEN)