const { Controller, Response, Router } = require("pepesan");
const f = require("../utils/Formatter");
let responseTimestamps = {};
module.exports = class BotController extends Controller {
// Fungsi untuk mengecek apakah sudah lewat 24 jam sejak respons terakhir untuk nomor WhatsApp tertentu
async canSendResponse(whatsappNumber) {
const currentTimeStamp = Date.now();
if (
!responseTimestamps[whatsappNumber] ||
currentTimeStamp - responseTimestamps[whatsappNumber] >=
24 * 60 * 60 * 1000
) {
responseTimestamps[whatsappNumber] = currentTimeStamp;
return true; // Sudah lebih dari 24 jam, bisa mengirimkan respon
}
return false; // Belum 24 jam, jangan kirimkan respons
}
async introduction(request) {
const canSend = await this.canSendResponse(request.whatsappNumber);
if (!canSend) {
return; // Tidak mengirimkan respons jika belum 24 jam
}
await this.reply(Response.image.fromURL("IMG_1894 (1).webp"));
return Response.menu.fromArrayOfString(
[f("menu.pendaftaran"), f("menu.jadwaldokter"), f("menu.chat")],
f("intro"),
f("template.menu")
);
}
async pendaftaran(request) {
await this.reply(
"text"
);
await delay(1500);
await this.reply(
"text"
);
await delay(600000);
await this.reply(
"Petugas kami akan membalas pesan anda, mohon kesediaannya untuk menunggu. Terimakasih"
);
}
async jadwaldokter(request) {
await this.reply(
"jadwal dokter"
);
}
async chat(request) {
await this.reply(
"Petugas kami akan membalas pesan anda, mohon kesediannya untuk menunggu. Terima kasih"
);
}
};
function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
Kode controller mengakibatkan chatbot tidak dapat merespon lebih dari 1 nomor whatsapp. Berikan solusi akan issue ini
const { Controller, Response, Router } = require("pepesan");
const f = require("../utils/Formatter");
let responseTimestamps = {};
module.exports = class BotController extends Controller {
// Fungsi untuk mengecek apakah sudah lewat 24 jam sejak respons terakhir untuk nomor WhatsApp tertentu
async canSendResponse(whatsappNumber) {
const currentTimeStamp = Date.now();
if (
!responseTimestamps[whatsappNumber] ||
currentTimeStamp - responseTimestamps[whatsappNumber] >=
24 * 60 * 60 * 1000
) {
responseTimestamps[whatsappNumber] = currentTimeStamp;
return true; // Sudah lebih dari 24 jam, bisa mengirimkan respon
}
return false; // Belum 24 jam, jangan kirimkan respons
}
async introduction(request) {
const canSend = await this.canSendResponse(request.whatsappNumber);
if (!canSend) {
return; // Tidak mengirimkan respons jika belum 24 jam
}
await this.reply(Response.image.fromURL("IMG_1894 (1).webp"));
return Response.menu.fromArrayOfString(
[f("menu.pendaftaran"), f("menu.jadwaldokter"), f("menu.chat")],
f("intro"),
f("template.menu")
);
}
async pendaftaran(request) {
await this.reply(
"text"
);
await delay(1500);
await this.reply(
"text"
);
}
async jadwaldokter(request) {
await this.reply(
"jadwal dokter"
);
}
async chat(request) {
await this.reply(
"Petugas kami akan membalas pesan anda, mohon kesediannya untuk menunggu. Terima kasih"
);
}
};
function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
Kode controller mengakibatkan chatbot tidak dapat merespon lebih dari 1 nomor whatsapp. Berikan solusi akan issue ini