Upload New File

parent 004d02c9
package com.bot;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.json.JSONObject;
public class WhatsAppChatbotServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String VERIFY_TOKEN = "mySecretVerifyToken123";
private static final String ACCESS_TOKEN = "EAFYJZCF8GyacBOZBlxVNRwqZBNA4BJVYYCH9gKRk0fjdG1XaONKXQnDIqldZB8mvpNVpILnCuOsHyv81CBKa3pG9G6pRsEAxTI4FAUdFEBhlmsV22YdBs5svyKmFe4bcsuirk8wvPoTHTXTsCvqDZBLTwgmDSz9NZC9rfUBxSVTM37zZCcHZBZAm69duKjUxO56ZBAeOr4KdBUyJxUHx965TeBYSoKULRcTLXH3HcZD"; // Your full token
private static final String PHONE_NUMBER_ID = "647550301772780";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String mode = request.getParameter("hub.mode");
String token = request.getParameter("hub.verify_token");
String challenge = request.getParameter("hub.challenge");
if ("subscribe".equals(mode) && VERIFY_TOKEN.equals(token)) {
response.getWriter().print(challenge);
} else {
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BufferedReader reader = request.getReader();
StringBuilder payload = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
payload.append(line);
}
JSONObject body = new JSONObject(payload.toString());
System.out.println("Incoming webhook:\n" + body.toString(2));
try {
String from = body.getJSONArray("entry")
.getJSONObject(0)
.getJSONArray("changes")
.getJSONObject(0)
.getJSONObject("value")
.getJSONArray("messages")
.getJSONObject(0)
.getString("from");
String message = body.getJSONArray("entry")
.getJSONObject(0)
.getJSONArray("changes")
.getJSONObject(0)
.getJSONObject("value")
.getJSONArray("messages")
.getJSONObject(0)
.getJSONObject("text")
.getString("body");
// 👇 Using MessageSender class now
if (message.equalsIgnoreCase("hi")) {
MessageSender.sendTextMessage(from, "Hello! How can I help you today?");
} else if (message.equalsIgnoreCase("help")) {
MessageSender.sendTextMessage(from, "You can ask me about our services, timings, or support.");
} else {
MessageSender.sendTextMessage(from, "Sorry, I didn't understand that. Type 'help' for options.");
}
} catch (Exception e) {
System.out.println("No message to process or format error: " + e.getMessage());
}
response.setStatus(200);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment