- Joined
- Sep 25, 2022
- Messages
- 69
Sirve para monitorear el juego desde discord y recibir notificaciones en tiempo real
Vista del bot:
Contiene:
Configuración de mensajes por distintos canales
Comando /ONLINE para ver los usuarios conectados desde discord en tiempo real
Log en discord de todas las denuncias recibidas en el canal de denuncias
Log en discord de todos los bugs reportados por los usuarios en el canal de bugs
Log en discord cuando un GM banea, o aplica una pena a un personaje
Log en discord cuando un usuario borra un personaje
Log en discord de posibles sospechosos con uso de programas externos
Código testeado 100% funcional:
Instrucciones de uso:
1) Agregar en el código de su servidor un guardado de log por cada acción que se quiera notificar por discord
2) Generar un Token desde dev discord
3) Instalar NodeJS + Discord JS + Chokidar
Vista del bot:


Contiene:
Configuración de mensajes por distintos canales
Comando /ONLINE para ver los usuarios conectados desde discord en tiempo real
Log en discord de todas las denuncias recibidas en el canal de denuncias
Log en discord de todos los bugs reportados por los usuarios en el canal de bugs
Log en discord cuando un GM banea, o aplica una pena a un personaje
Log en discord cuando un usuario borra un personaje
Log en discord de posibles sospechosos con uso de programas externos
Código testeado 100% funcional:
Code:
const Discord = require('discord.js');
const fs = require('fs');
const chokidar = require('chokidar');
const client = new Discord.Client();
const offTopicChannelId = '1078572095300177981';
const logsChannelId = '1136323081678372874';
const bugChannelId = '1007976430681997322';
const pjsBorradosChannelId = '1136330089596977192';
const antiCheatLogsSospechososChannelId = '1027081454095695924';
const banChannelId = '1015054306216521809';
const penaChannelId = '1015054306216521809';
let cache = {};
client.once('ready', () => {
console.log('Ready!');
const filesToWatch = [
'dat/denuncias.ini',
'dat/bugs.ini',
'Consultas/Historial.dat',
'Seguridad/BorradoPersonajes.dat',
'Logs/AutoPot.log',
'Logs/banDetail.dat',
'seguridad/penas/historial.hst'
];
filesToWatch.forEach((filename) => {
cache[filename] = '';
const watcher = chokidar.watch(filename, {
persistent: true
});
watcher.on('change', (path) => {
fs.readFile(path, 'utf-8', (err, data) => {
if (err) throw err;
let lines = data.split('\n');
let newLines = '';
if (filename === 'Logs/banDetail.dat' || filename === 'seguridad/penas/historial.hst') {
newLines = lines.slice(Math.max(lines.length - 4, 1)).join('\n');
} else {
newLines = lines[lines.length - 2];
}
let message = '';
let channelId = '';
if (filename === 'dat/denuncias.ini') {
message = ':oncoming_police_car: **Nueva denuncia:**\n';
channelId = offTopicChannelId;
} else if (filename === 'dat/bugs.ini') {
message = ':bug: **Nuevo bug reportado:**\n';
channelId = bugChannelId;
} else if (filename === 'Consultas/Historial.dat') {
message = ':pencil: **Historial de consultas actualizado:**\n';
channelId = logsChannelId;
} else if (filename === 'Seguridad/BorradoPersonajes.dat') {
message = ':wastebasket: **Un personaje ha sido borrado:**\n';
channelId = pjsBorradosChannelId;
} else if (filename === 'Logs/AutoPot.log') {
message = ':exclamation: **Se detectado un posible uso de trucos (Poteo/U):**\n';
channelId = antiCheatLogsSospechososChannelId;
} else if (filename === 'Logs/banDetail.dat') {
message = ':hammer: **Nuevo ban:**\n';
channelId = banChannelId;
} else if (filename === 'seguridad/penas/historial.hst') {
message = ':judge: **Nueva pena:**\n';
channelId = penaChannelId;
}
const channel = client.channels.cache.get(channelId);
if (!channel) throw new Error("Canal no encontrado");
channel.send(message + '```' + newLines + '```');
});
});
});
});
client.on('message', message => {
if (message.content === '/ONLINE') {
fs.readFile('Logs/numusers.txt', 'utf8', function(err, data) {
if (err) throw err;
message.channel.send('Usuarios online: ' + data);
});
}
});
client.login('tu-token-de-bot');
Instrucciones de uso:
1) Agregar en el código de su servidor un guardado de log por cada acción que se quiera notificar por discord
2) Generar un Token desde dev discord
3) Instalar NodeJS + Discord JS + Chokidar

Code:
npm install discord.js@12.5.3
npm install chokidar
Attachments
Last edited: