J'utilise Visual Studio pour créer un bot Skype basé sur son Bot Builder SDK et utilisant l'émulateur Skype. (I am using this page) Je suis arrivé avec succès le bot pour se connecter et recevoir des messages texte régulièrement, et il répond correctement avec:C# - Impossible de faire en sorte que Skype Bot réponde à l'événement approprié
Vous avez envoyé des caractères [message] qui était [longueur]
Cependant, j'ai essayé d'ajouter un événement à déclencher lorsqu'un utilisateur est ajouté, et il devrait simplement envoyer "Bienvenue".
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
ConnectorClient connector = new ConnectorClient(new System.Uri(activity.ServiceUrl));
int length = (activity.Text ?? string.Empty).Length;
Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters");
await Conversation.SendAsync(activity,() => new Dialogs.RootDialog());
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
private Activity HandleSystemMessage(Activity message)
{
//The other if statements are the rest of the activity types
if (message.Type == ActivityTypes.ConversationUpdate)
{
// Handle conversation state changes, like members being added and removed
// Use Activity.MembersAdded and Activity.MembersRemoved and Activity.Action for info
// Not available in all channels
Activity reply = message.CreateReply("Welcome");
}
Ceci est le code que j'ai actuellement. J'ai essayé d'ajouter les mêmes Connector
et await
lignes à la déclaration else
sur la ligne 17, mais qui fait juste le répondre bot avec
Vous avez envoyé qui était 0 caractères
Si une autre information est nécessaire pour réparer cela, je serai heureux de le fournir.
Toute aide est appréciée!
EDIT: Le code que j'ai actuellement ne répond à rien. Il voit l'événement ConversationUpdate et ne fait rien avec elle
'message.CreateReply (" Bienvenue ");' crée simplement un message, il ne l'envoie pas. – caesay