Topic: Передача данных о имени пользователя и id пользователя в чат бот
Передача данных о наименовании пользователя и id пользователя в чат бот
Добрый день! Мне необходимо в чат бот передать значение имя пользователя и его id. Для этого я вызываю функцию loader.push, которая срабатывает когда всё инициализировано.
Затем я выполняю запрос на получение Hash и из хеша по запросу получаю имя пользователя и id пользователя. Затем мне необходимо передать эти два параметра в чат бот, чтобы у нас была идентификация пользователя в чат боте. Но к сожалению почему то переменным не присваивается значения полученные в функции useAuthHash почему то функция не срабатывает. Если вставить функции getHash, useAuthHash по кнопке то они сработают. Так же если в чат бот прописать статически значение, то всё сработает. Подскажите что может быть с функциями Wialon getHash, useAuthHash почему они не выдают результата и не записывают данные в переменные nameUsr, idUsr? Может есть другие методы получение имя пользователя и id пользователя? Може данные функции не могут срабатывать в loader.push?
Код:
// Asking Wialon to run our function when everything's initialized
loader.push(function () {
    WebCMS.after_init_call(function () {
        // make sure that if an error occurs, it doesn't break other scripts on the page
        try {
            
            let nameUsr = '';
            let idUsr = '';
            
            function getHash() {
                var prms = {}
                var remote = wialon.core.Remote.getInstance();
                remote.remoteCall('core/create_auth_hash', prms,
                    function (code,result) {
                        if(code) {
                            console.log('error');
                            return;
                        }
                        console.log('res = ' + wialon.util.Json.stringify(result));
                        var authHash = result.authHash;
                        console.log('authHash = ' + authHash);
                        useAuthHash(authHash);
                    })
                }
            function useAuthHash(data) {
                var prms = {"authHash":data}
                var remote = wialon.core.Remote.getInstance();
                remote.remoteCall('core/use_auth_hash', prms,
                    function (code,result) {
                        if(code) {
                            console.log('error');
                            return;
                        }
                    console.log('res = ' + wialon.util.Json.stringify(result));
                    nameUsr = result.user.nm;
                    idUsr = result.user.id;
                    console.log('userName = ' + nameUsr);
                    console.log('iduser = ' + idUsr);
                    })
}
(function(w,d){
        w.ChatBot=function(){w. ChatBot.q.push(arguments)};w. ChatBot.q=[];
        ………
    function runChatBotMethods() {
        ChatBot('init', 'user', {
            applicationId: 5,
            applicationSecret: ‘key',
            user: {
                name: nameUsr,
                user_id: idUsr,
            }
        })
        ChatBot('showChatWidget');
    }
…..
} catch (error) {
            // do nothing or trigger some url that notifies you of problems
            console.log(error)
        }
    });
});