waha / tests /perf /send.js
NitinBot002's picture
Upload 384 files
4327358 verified
// eslint-disable-next-line @typescript-eslint/no-var-requires
const axios = require('axios');
// eslint-disable-next-line @typescript-eslint/no-var-requires
const yargs = require('yargs/yargs');
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { hideBin } = require('yargs/helpers');
// Parse CLI arguments
const argv = yargs(hideBin(process.argv))
.option('number', {
alias: 'n',
type: 'number',
description: 'Number of messages to send',
default: 10,
})
.option('chat-id', {
alias: 'to',
type: 'number',
description: 'Chat ID to send messages to',
demandOption: true,
})
.option('session', {
type: 'string',
description: 'Session ID to use',
demandOption: true,
})
.option('api-key', {
alias: 'k',
type: 'string',
description: 'API key for authentication',
demandOption: true,
})
.help().argv;
const sendTextMessage = async (session, numMessages, chatId, apiKey) => {
const url = 'http://localhost:3000/api/sendText/';
for (let i = 1; i <= numMessages; i++) {
console.log(`Sending message ${i}`);
const response = await axios.post(
url,
{
chatId: chatId.toString(),
session: session,
text: `Message - ${i}`,
},
{
headers: {
Accept: 'application/json',
'X-Api-Key': apiKey,
'Content-Type': 'application/json',
},
},
);
console.log(`Message ${i} sent successfully:`, response.data);
}
};
// Run the script
sendTextMessage(argv.session, argv.number, argv['chat-id'], argv['api-key']);