Search code examples
javascriptnode.jswebsocketiodonations

why donationalerts api socket returns server error?


i just wanted to do donation system but it returns connect_error server error

i have watched some guides but it didn`t help

my code:

const config = require("./config");

const socket = io.connect("wss://socket.donationalerts.ru:443");

socket.on("connect_error", (err) => {
    console.error(`connect_error ${err.message}`);
    //process.exit()
});
socket.on("disconnect", () => {
    console.log("socket disconnected");
});
socket.on("connect", (socket) => {
    const engine = socket.io.engine;
    console.log("app is starting")
    engine.on("disconnect", () => {
        console.log("Disconnected")
    })
})
socket.emit('add-user', { token: config.web.datoken, type: "minor" });
socket.on("donation", (donate) => {
    donate = JSON.parse(donate);
    let data = [
        `- Username: ${donate["username"]}`,
        `- Amount: ${donate["amount"]} ${donate["currency"]}`,
        `- Message: ${donate["message"]}`]
    console.log(`${data.join("\n")}`);
});

Solution

  • I needed to add transports: ["websocket"] to connection params.

    const socket = io("wss://socket.donationalerts.ru:443"); // does not work
    

    It works this way:

    const socket = io("wss://socket.donationalerts.ru:443", { transports: ["websocket"] }); // does work