Plugin Node.js untuk membuat tombol pesan WhatsApp di Slack
Berikut adalah contoh kode Node.js untuk membuat plugin dengan tombol pesan WhatsApp:
const express = require('express');
const bodyParser = require('body-parser');
const { WebClient } = require('@slack/web-api');
const axios = require('axios');
// Inisialisasi Express app
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
// Konfigurasi Slack Web API
const slackToken = 'YOUR_SLACK_TOKEN';
const web = new WebClient(slackToken);
// Konfigurasi nomor WhatsApp
const whatsappNumber = 'YOUR_WHATSAPP_NUMBER';
// Handle POST request dari Slack
app.post('/slack/message_actions', async (req, res) => {
const payload = JSON.parse(req.body.payload);
// Memeriksa apakah button di klik
if (payload.type === 'interactive_message' && payload.actions[0].name === 'whatsapp') {
const user = payload.user.name;
const channel = payload.channel.name;
const message = payload.original_message.text;
// Mengirim pesan ke nomor WhatsApp
try {
await sendWhatsAppMessage(user, channel, message);
res.sendStatus(200);
} catch (error) {
console.error(error);
res.sendStatus(500);
}
}
});
// Fungsi untuk mengirim pesan ke nomor WhatsApp
async function sendWhatsAppMessage(user, channel, message) {
const formattedMessage = 'Pesan dari ' + user + ' di channel ' + channel + ': ' + message;
// Menggunakan API WhatsApp Gateway
const response = await axios.post('https://api.whatsapp.com/send', {
phone: whatsappNumber,
text: formattedMessage
});
if (response.status !== 200) {
throw new Error('Gagal mengirim pesan WhatsApp');
}
}
// Menjalankan server pada port tertentu
app.listen(3000, () => {
console.log('Server berjalan pada port 3000');
});
Kode di atas menggunakan Express untuk membuat server yang akan menerima POST request dari Slack saat tombol pesan WhatsApp diklik. Saat tombol diklik, pesan Slack yang diklik akan dikirim ke nomor WhatsApp yang telah dikonfigurasi.
Pastikan untuk mengganti 'YOUR_SLACK_TOKEN' dengan token Slack Anda dan 'YOUR_WHATSAPP_NUMBER' dengan nomor WhatsApp yang akan menerima pesan.
Anda juga perlu menginstal modul npm yang diperlukan seperti express, body-parser, @slack/web-api, dan axios sebelum menjalankan kode ini.
原文地址: https://www.cveoy.top/t/topic/paBs 著作权归作者所有。请勿转载和采集!