n8n-nodes-discord
Version:
nodes to trigger workflows from Discord or send interactive messages. Uses the components API which allows to create dialogs (e.g. attach buttons and wait for the user to click on them)
55 lines • 2.47 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const helpers_1 = require("../helpers");
const state_1 = __importDefault(require("../state"));
const commands_1 = __importDefault(require("../commands"));
async function default_1(ipc, client) {
ipc.server.on('credentials', (data, socket) => {
try {
if ((!state_1.default.login && !state_1.default.ready) ||
(state_1.default.ready && (state_1.default.clientId !== data.clientId || state_1.default.token !== data.token))) {
if (data.token && data.clientId) {
state_1.default.login = true;
client.destroy();
(0, commands_1.default)(data.token, data.clientId, client).catch((e) => {
(0, helpers_1.addLog)(`${e}`, client);
});
client
.login(data.token)
.then(() => {
state_1.default.ready = true;
state_1.default.login = false;
state_1.default.clientId = data.clientId;
state_1.default.token = data.token;
ipc.server.emit(socket, 'credentials', 'ready');
(0, helpers_1.addLog)(`credentials ready`, client);
})
.catch((e) => {
state_1.default.login = false;
ipc.server.emit(socket, 'credentials', 'error');
(0, helpers_1.addLog)(`credentials error`, client);
});
}
else {
ipc.server.emit(socket, 'credentials', 'missing');
(0, helpers_1.addLog)(`credentials missing`, client);
}
}
else if (state_1.default.login) {
ipc.server.emit(socket, 'credentials', 'login');
(0, helpers_1.addLog)(`credentials login`, client);
}
else {
ipc.server.emit(socket, 'credentials', 'already');
}
}
catch (e) {
(0, helpers_1.addLog)(`${e}`, client);
}
});
}
exports.default = default_1;
//# sourceMappingURL=credentials.ipc.js.map