Files
node-red-contrib-laglord-di…/discord/discordMember.js

52 lines
1.3 KiB
JavaScript

const Flatted = require('flatted');
module.exports = function (RED) {
var discordBotManager = require('./lib/discordBotManager.js');
function discordMember(config) {
RED.nodes.createNode(this, config);
var configNode = RED.nodes.getNode(config.token);
var node = this;
discordBotManager.getBot(configNode).then(function (bot) {
var callbacks = [];
node.status({
fill: "green",
shape: "dot",
text: "ready"
});
var registerCallback = function (eventName, listener) {
callbacks.push({
'eventName': eventName,
'listener': listener
});
bot.on(eventName, listener);
};
registerCallback('guildMemberAdd', message => {
var msgid = RED.util.generateId();
var msg = {
_msgid: msgid
}
msg.payload = Flatted.parse(Flatted.stringify(message));
msg.payload.event = "guildMemberAdd";
node.send(msg);
});
registerCallback('guildMemberRemove', message => {
var msgid = RED.util.generateId();
var msg = {
_msgid: msgid
}
msg.payload = Flatted.parse(Flatted.stringify(message));
msg.payload.event = "guildMemberRemove";
node.send(msg);
});
});
};
RED.nodes.registerType("discordMember", discordMember);
};