Discord-Interchat
-
Discord-Interchat es un modulo para bots de discord y sirve para enviar mensajes a
multiples servidores a la vez
. -
El modulo es muy rapido y no usa
async/await
-
El modulo sigue en desarrollo por
tnfAngel
#8642
Documentacion
Definir
- Para declararlo en tu codigo puedes poner lo siguiente:
const interchat = require('discord-interchat')
Funciones
- interchat
Envia un mensaje a todos los servidores establecidos.
Client
: Cliente del bot
Mensaje
: String o embed a enviar
interchat.interchat(client, mensaje)
- setinterchat
Sirve para establecer el interchat en el servidor.
Servidor
: ID del servidor
Canal
: ID del canal
interchat.setinterchat(servidor, canal)
- delinterchat
Elimina el interchat del servidor deseado.
Servidor
: ID del servidor
interchat.delinterchat(servidor)
- hasinterchat
Comprueba si el servidor tiene el interchat o no.
Servidor
: ID del servidor
interchat.hasinterchat(servidor)
// retorna true / false
- getinterchat
Obtiene la ID del canal del servidor del interchat.
Servidor
: ID del servidor
interchat.getinterchat(servidor)
// retorna string con la id del canal
Ejemplo de bot completo
const interchat = require('discord-interchat')
const Discord = require('discord.js');
const client = new Discord.Client();
ajustes = {
prefix: "!",
token: "tu token"
};
client.on('ready', () => {
console.log(`Sesion iniciada como ${client.user.tag}!`);
});
// Comandos
client.on("message", async message => {
let command = message.content.toLowerCase().slice(ajustes.prefix.length).split(" ")[0];
if (!message.content.startsWith(ajustes.prefix) || message.author.bot || !message.guild) return;
// Establecer canal
if(command === "set"){
let canal = message.mentions.channels.first()
if (!message.guild.member(message.author.id).permissions.has("MANAGE_GUILD")) return message.reply("No tienes permisos para eso.")
if (!canal) return message.reply("Debes mencionar un canal.")
if (canal.guild.id != message.guild.id) return message.reply("El canal debe ser de este servidor.")
interchat.setinterchat(message.guild.id, canal.id)
return message.reply(`Canal establecido como <#${canal.id}>`)
}
// Eliminar interchat del servidor
if(command === "off"){
if (!message.guild.member(message.author.id).permissions.has("MANAGE_GUILD")) return message.reply("No tienes permisos para eso.")
interchat.delinterchat(message.guild.id)
return message.reply(`Canal desactivado`)
}
})
// Interchat
client.on("message", async message => {
if (message.channel.type === "dm") return;
if (message.author.bot) return;
// Comprueba si el servidor tiene el interchat
if (!interchat.hasinterchat(message.guild.id)) return
// Comprueba si el canal es el de interchat
if (message.channel.id == interchat.getinterchat(message.guild.id)) {
// Elimina el mensaje
message.delete()
// Embed de ejemplo
const embed = new Discord.MessageEmbed()
.setAuthor(message.author.tag, message.author.avatarURL({ dynamic: true }))
.setDescription(message.content)
.setColor("RANDOM")
.setFooter(message.guild.name, message.guild.iconURL({ dynamic: true }))
// Envia el embed a todos los servidores
interchat.interchat(client, embed)
}
})
// El bot inicia sesion
client.login(ajustes.token);
Instalacion
Si tienes problemas con la instalacion puedes unirte al servidor de soporte.
Linux y Windows
npm i discord-interchat
Mac
- Instala: XCode
-
Pon:
npm i -g node-gyp
en terminal -
Pon:
node-gyp --python /path/to/python2.7
(salta este paso si no has instalado python 3.x) -
Pon:
npm i discord-interchat