Slack Events api / how to recieve message from Slack

Viewed 34

I've a socket.io connected server on localhost:8080 and try to recieve message from Slack to display on the client side on React app.

var express = require("express");
var socket = require("socket.io");
var app = express();
const { App } = require("@slack/bolt");

const appBolt = new App({
  token: "xoxb-***",
  appToken:
    "xapp-1-***",
  socketMode: true,
});

server = app.listen(8080, function () {
  console.log("server is running on port 8080");
  appBolt.start(process.env.PORT || 8080);
});

io = socket(server);

io.on("connection", (socket) => {
  console.log("socket.id: ", socket.id);
  socket.on("SEND_MESSAGE", function (data) {
    io.emit("RECEIVE_MESSAGE", data);
  });

And client side on React

const socket = io("localhost:8080");
function App() {
  const [message, setMessage] = useState("");
  const [messages, setMessages] = useState([]);

  const addMessage = (data) => {
    setMessages([...messages, data]);
  };

  socket.on("RECEIVE_MESSAGE", (data) => {
    console.log("MESSAGE_RECIEVED", data);
    addMessage(data);
  });
}

Could you tell me please, how to combine socket.io with Slack events api to send data? In event I recieve message from Slack.

appBolt.event('message', ({ event, say }) => {  
    say(`Hello world, <@${event.user}>!`);
    return event;
});

My Slack app settings My Socket mode settings

0 Answers
Related