MESIBO Web(javascript), not receiving message in other end

142 Views Asked by At

I created two test users from MESIBO API, to test messaging between them. Created exact same script in two files, and add send function in one file, to send message to the second user. I tried the second user's token, UID, and address but the message gets sent from the first user but 2nd user's script listener doesn't catch it. Both the user tokens, appid (app name) are valid, I tried even in HTTPS connection too, but still couldn't receive a message on another end.

Second User (two.html) : Sender

FIrst User (one.html) : Receiver

Script form first user: which supposed to get the message

<script type="text/javascript" src="https://api.mesibo.com/mesibo.js"></script>
<script> 
var demo_user_token = 'XXXXXXXXXXXXXXXXXX';
var demo_appid = 'legal.web';

var api = new Mesibo();

api.setListener(new MesiboListener());
api.setAppName(demo_appid);
api.setCredentials(demo_user_token);
api.setAccessToken(demo_user_token);

//api.setDatabase("mesibo");

api.start();


console.log('First User');

function MesiboListener() {
}

MesiboListener.prototype.Mesibo_OnConnectionStatus = function(status, value) {
    console.log("Mesibo_OnConnectionStatus: "  + status);
}

MesiboListener.prototype.Mesibo_OnMessageStatus = function(m) {
    console.log("Mesibo_OnMessageStatus: from "  
            + m.peer + " status: " + m.status);
}

MesiboListener.prototype.Mesibo_OnMessage = function(m, data) {
    console.log("Mesibo_OnMessage: from "  + m.peer);
}

MesiboListener.prototype.Mesibo_OnCall = function(callid, from, video) {
    console.log("Mesibo_onCall: " + (video?"Video":"Voice") + " call from: " + from);
}


</script>

Script from the second user, who send message to the first user using first user's token


<script type="text/javascript" src="https://api.mesibo.com/mesibo.js"></script>

<input type="button" value="Send" onclick="sendTextMessage()" >

<script> 
var demo_user_token = 'XXXXXXXXXXXXXXXXXXX';
var demo_appid = 'legal.web';

var api = new Mesibo();

api.setListener(new MesiboListener());
api.setAppName(demo_appid);
api.setCredentials(demo_user_token);
api.setAccessToken(demo_user_token);

api.start();

console.log('Scond User User');

function MesiboListener() {
}

MesiboListener.prototype.Mesibo_OnConnectionStatus = function(status, value) {
    console.log("Mesibo_OnConnectionStatus: "  + status);
}

MesiboListener.prototype.Mesibo_OnMessageStatus = function(m) {
    console.log("Mesibo_OnMessageStatus: from "  
            + m.peer + " status: " + m.status);
}

MesiboListener.prototype.Mesibo_OnMessage = function(m, data) {
    console.log("Mesibo_OnMessage: from "  + m.peer);
}

function sendTextMessage() {

    let to = "2757b980f05600c48d75f17f6cb0480ed3a91557655dc7d2ebb3f2dc5vaa1cbe86178"
    var profile = api.getProfile(to, 0);
    console.log(profile);
    var id = parseInt(Math.random()*10000);
    profile.sendMessage(id, "this is text message");
}

</script>

console from sender (2nd user) after sending message, status is 1 it means sent

But nothing in the receiver end

1

There are 1 best solutions below

2
On BEST ANSWER

Why are you using a token in the "to" parameter? It should be the address "USER_2". Please do not share your tokens in a public forum.

function sendTextMessage() {

    let to = "USER_2"
    var profile = api.getProfile(to, 0);
    console.log(profile);
    var id = parseInt(Math.random()*10000);
    profile.sendMessage(id, "this is text message");
}

Refer to the tutorial here https://mesibo.com/documentation/tutorials/get-started/javascript/