Тема: Передача данных о имени пользователя и 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)
}
});
});