Dúvidas usando a extensão diretório BlipSDK-JS

Estou tentando usar a extensão diretório, porém algumas dúvidas estão surgindo.
https://portal.blip.ai/#/docs/extensions/directory

Vamos supor que no inicio da conversa eu preciso pegar os dados do usuário e gravar em um banco

// Começar
client.addMessageReceiver(function(message){ return message.content == 'Começar'; }, function (message) {

	/*
    {
    	to: "postmaster@messenger.gw.msging.net",
    	method: "get",
    	uri: "lime://messenger.gw.msging.net/accounts/1042221589186385"
    }
    */

    // Uso a função sendMessage ou sendCommand para pegar esses dados?

    return false;

});

Olá @odirleiborgert,

Para pegar os dados do usuário em um canal específico basta utilizar a extensão de diretório.
Todas as extensões são utilizadas através de comandos (clique aqui para mais detalhes sobre as extensões). Portanto use o método client.sendCommand

Veja um exemplo para pegar os dados de um usuário do messenger que possui o identificador 1042221589186385

client.addMessageReceiver('text/plain', async (message) => {
    let userAccount = await client.sendCommand({  
        'id': '3',
        'method': 'get',
        'to': 'postmaster@messenger.gw.msging.net',
        'uri': 'lime://messenger.gw.msging.net/accounts/1042221589186385'
    });
    console.log(userAccount);
});

Obs.: Lembre-se de alterar a uri do comando de acordo com o canal e o identificador do usuário. Para mais detalhes veja este link.

1 Curtida

Show, de bola Rafael, só faltou passar a propriedade “to” junto com o valor "postmaster@messenger.gw.msging.net" e tudo funcionou como eu precisa.

client.addMessageReceiver('text/plain', async (message) => {
    let userAccount = await client.sendCommand({  
        'id': '3', // Lime.Guid()
        'to': 'postmaster@messenger.gw.msging.net',
        'method': 'get',
        'uri': 'lime://messenger.gw.msging.net/accounts/1042221589186385'
    });
    console.log(userAccount);
});

Muito obrigado

1 Curtida

Perfeito @odirleiborgert!

1 Curtida