Add files via upload

This commit is contained in:
Fernando Méndez
2021-02-02 11:03:35 +01:00
committed by GitHub
commit 676a7db96e
11 changed files with 1645 additions and 0 deletions

83
DiskoBOTlo_Discord/bot.js Normal file
View File

@@ -0,0 +1,83 @@
// Librerías y dependendias:
const Discord = require("discord.js");
const client = new Discord.Client();
const config = require("./config.json");
const mcping = require('mc-ping-updated');
// Prefijo para comandos "/":
let prefix = config.prefix;
// Funciones del bot:
client.on('ready', () => {
// Mensaje al iniciar el bot:
console.log("[ " + Date() + " ] Se ha iniciado el bot.");
});
client.on('message', message => {
// Ignoramos el contenido de los mensajes del BOT (evita bucle infinito):
// if (!message.content.startsWith(prefix)) return;
// if (message.author.bot) return;
// Id del canal de bienvenida:
var welcomeChanel = client.channels.cache.get(config.welcomeChanel);
// Id del canal de Minecraft:
var serverMinecraftChanel = client.channels.cache.get(config.serverMinecraftChanel);
//Id del canal de Junta:
var juntaChanel = client.channels.cache.get(config.juntaChanel);
// Id del rol "Suscriptor":
//var socioRol = message.guild.roles.cache.find(r => r.name === "socioRol");
var socioRol = message.guild.roles.cache.get(config.socioID);
// Asignación del rol al decir "Hola" en el canal de bienvenida.
if(message.channel == welcomeChanel){
//console.log(message.content);
if(message.content === 'Hola'){
if(message.member.roles.cache.has(socioRol.id)) {
message.channel.send('Hola a ti también 😉');
console.log("[ " + Date() + " ] Se ha interactuado con" + message.member.user.username + " en #BIENVENIDA.");
}
else {
message.member.roles.add(socioRol).catch(console.error); //Agregamos el rol al usuario
message.channel.send(message.member.user.username + ' *¡Bienvenido al servidor de Diskobolo!* 👋\n' +
'⚠️ Usa los canales adecuados para hablar de cada tema y respeta a los demás ⚠️\n' +
'👉 Se te ha asignado el rol: `'+socioRol.name+'` 👈.\n\n' +
'🐦 Puedes seguirnos en *twitter* 🐦: https://twitter.com/DSKbolo \n\n' +
'🔎 Recuerda la IP del servidor de Minecraft ⛏️: *diskobolo.fdi.ucm.es*\n', { parse_mode: 'Markdown' });
console.log("[ " + Date() + " ] Se ha asignado un rol de socioRol a " + message.member.user.username );
}
} else if(!(message.member.roles.cache.has(socioRol.id))) {
message.channel.send(message.member.user.username + ' escribe "Hola", para que se te asigne un rol.');
console.log("[ " + Date() + " ] Se ha solicitado a " + message.member.user.username + " que diga hola.");
}
}
if(message.channel == juntaChanel || message.channel == serverMinecraftChanel) {
if(message.content.startsWith(prefix + 'ping')) {
message.channel.send(`pong 🏓`);
}
if(message.content.startsWith(prefix + 'minecraft')) {
mcping('diskobolo.fdi.ucm.es', 25565, function(err, res) {
if (err) {
// Some kind of error
message.channel.send('El servidor *NO* funciona. Puede que haya explotado un creeper 🤷‍♂️', { parse_mode: 'Markdown' });
console.error("[ " + Date() + " ]" + message.member.user.username + "Error al mostrar el estado del servidor de Minecraft.\n\n" + err);
} else {
// Success!
message.channel.send('⛏️*SERVIDOR DE MINECRAFT DE Diskobolo*⛏️ \n\n' +
'Estado: *ACTIVO* \n' +
'IP del servidor: *diskobolo.fdi.ucm.es* \n' +
'Versión del servidor: *' + res.version.name + '* \n' +
'Jugadores conectados: *' + res.players.online +'*', { parse_mode: 'Markdown' });
console.log("[ " + Date() + " ]" + message.member.user.username + " Ha solicitado el estado del servidor de Minecraft. \n\n" + res)
//console.log(res);
}
}, 3000);
}
}
});
client.login(config.BOT_TOKEN);

View File

@@ -0,0 +1,18 @@
{
"name": "DiskoBOTlo",
"version": "1.0.0",
"description": "Bot de Discord de la Asocación Diskobolo de la Facultad de Informática de la Universidad Complutense de Madrid.",
"main": "bot.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Fernando Méndez (https://fermdez.ddns.net | @HumperCobra)",
"license": "Educational Community License v2.0 (ECL-2.0)",
"dependencies": {
"discord.js": "^12.5.1",
"mc-ping-updated": "^0.1.1",
"mcping-js": "^1.5.0"
},
"devDependencies": {},
"keywords": []
}