n8n-nodes-megaapi
Version:
N8N Community Node for MegaAPI WhatsApp automation - Complete WhatsApp integration with messaging, groups, media, and more
73 lines β’ 3.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.presenceUpdateChat = presenceUpdateChat;
const megaapiRequest_1 = require("../megaapiRequest");
async function presenceUpdateChat(itemIndex) {
var _a;
const credentials = await this.getCredentials('megaApiCredentialsApi');
const instanceKey = credentials.instanceKey;
const to = this.getNodeParameter('to', itemIndex);
const option = this.getNodeParameter('option', itemIndex);
console.log('π MegaAPI Credentials loaded');
console.log(`π Operation: presenceUpdateChat (item ${itemIndex + 1})`);
console.log(`π± Instance Key: ${instanceKey}`);
console.log(`π€ To: ${to}`);
console.log(`ποΈ Presence Option: ${option}`);
const optionDescriptions = {
'composing': 'Digitando...',
'recording': 'Gravando Γ‘udio...',
'available': 'Online',
'unavailable': 'Visto por ΓΊltimo hoje Γ s...',
'pause': 'Pausa o digitando'
};
console.log(`π Presence Description: ${optionDescriptions[option] || option}`);
try {
const requestBody = {
to: to,
option: option,
};
const apiUrl = `/rest/chat/${instanceKey}/presenceUpdateChat`;
console.log(`π Full URL: ${credentials.host}${apiUrl}`);
console.log('π€ Request Options');
console.log(` Method: POST`);
console.log(` Authorization: Bearer ${(_a = credentials.token) === null || _a === void 0 ? void 0 : _a.substring(0, 10)}...`);
console.log(` Content-Type: application/json`);
console.log('π¦ Request Body:', JSON.stringify(requestBody, null, 2));
console.log('ποΈ Updating presence status via MegaAPI...');
const response = await megaapiRequest_1.megaapiRequest.call(this, 'POST', apiUrl, requestBody);
console.log('π₯ Response received', typeof response === 'string' ? response.substring(0, 50) + '...' : response);
let presenceData;
if (typeof response === 'string') {
try {
presenceData = JSON.parse(response);
}
catch {
presenceData = { message: response, status: 'unknown' };
}
}
else {
presenceData = response;
}
console.log('β
Presence status updated successfully', typeof presenceData === 'string' ? presenceData.substring(0, 50) + '...' : 'Object received');
return {
json: {
success: true,
operation: 'presenceUpdateChat',
instanceKey,
to,
option,
optionDescription: optionDescriptions[option] || option,
message: 'Presence status updated successfully',
data: presenceData,
timestamp: new Date().toISOString(),
},
pairedItem: { item: itemIndex },
};
}
catch (error) {
console.log('π₯ Error in MegaAPI Presence Update Chat operation');
console.log(error);
throw error;
}
}
//# sourceMappingURL=presenceUpdateChat.js.map