2016-06-23 3 views
0

J'utilise des messages factices avec des identifiants d'utilisateur pour définir BotUserData pour un utilisateur particulier, afin que le bot puisse y accéder ailleurs par la même méthode.Pourquoi BotUserData n'est-il pas persistant et récupérable dans mon Bot Bot?

Exemple:

 message.From.Id = someUserId;    
     message.SetBotUserData("someObject", someObject); 

Plus tard, lorsqu'un autre utilisateur interagit avec le robot, j'execute

 message.From.Id = someUserId 
     someObject = message.GetBotUserData<objectType>("someObject") 

Mais someObject est retourné comme NULL

Notez que ces deux extraits sont en cours d'exécution sur différents canaux, conversations

Est-ce que je l'utilise mal?

+0

Etes-vous en train d'essayer d'obtenir les données pour un autre utilisateur? Ça ne va pas marcher. – stuartd

+0

Existe-t-il un autre moyen de transmettre des données entre utilisateurs? (Sans qu'ils soient dans la même conversation) – Kaizoku

+0

@stuartd Je devrais clarifier - J'essaie d'amener deux utilisateurs sur des canaux différents à se parler en utilisant le bot comme intermédiaire. Donc, je passe essentiellement leurs comptes de canaux en utilisant la méthode ci-dessus – Kaizoku

Répondre

1

L'ID utilisateur est différent sur chaque canal (c'est-à-dire que Skype/Slack utilise un espace de noms différent). Actuellement, BotFramework ne permet pas de lier les comptes entre les canaux. Vous pouvez créer une interface utilisateur permettant aux utilisateurs de lier des comptes (par exemple en générant un jeton dans un canal et en demandant à l'utilisateur de le saisir dans un autre). Vous voudrez alors créer votre propre magasin de données auquel vous pouvez accéder avec le token que vous avez fourni.

+0

Merci pour la réponse. J'avais pensé à une solution similaire. – Kaizoku

+0

Ma question était destinée à résoudre le plus gros problème présenté dans http://stackoverflow.com/questions/37899111/connecting-a-ms-bot-framework-user-to-someone-on-skype?rq=1 Pourriez-vous peut-être jeter un oeil à la façon dont on l'aborderait? – Kaizoku