/// <summary> /// Called when the default topic is started /// </summary> /// <param name="context"></param> /// <returns></returns> public async Task <bool> StartTopic(AlarmBotContext context) { switch (context.Activity.Type) { case ActivityTypes.ConversationUpdate: { // greet when added to conversation var activity = context.Activity.AsConversationUpdateActivity(); if (activity.MembersAdded.Any(m => m.Id == activity.Recipient.Id)) { await DefaultResponses.ReplyWithGreeting(context); await DefaultResponses.ReplyWithHelp(context); this.Greeted = true; } } break; case ActivityTypes.Message: // greet on first message if we haven't already if (!Greeted) { await DefaultResponses.ReplyWithGreeting(context); this.Greeted = true; } return(await this.ContinueTopic(context)); } return(true); }
public Task <bool> StartTopic(MultiBotContext context) { switch (context.Activity.Type) { case ActivityTypes.ConversationUpdate: { // greet when added to conversation foreach (var newMember in context.Activity.MembersAdded) { if (newMember.Id != context.Activity.Recipient.Id) { DefaultResponses.ReplyWithGreeting(context); DefaultResponses.ReplyWithHelp(context); DefaultResponses.ReplyWithResumeTopic(context); this.Greeted = true; } } } break; case ActivityTypes.Message: // greet on first message if we haven't already if (!Greeted) { DefaultResponses.ReplyWithGreeting(context); this.Greeted = true; } return(this.ContinueTopic(context)); } return(Task.FromResult(true)); }
/// <summary> /// Called when the default topic is started /// </summary> /// <param name="context"></param> /// <returns></returns> public Task <bool> StartTopic(IBotContext context) { switch (context.Request.Type) { case ActivityTypes.ConversationUpdate: { // greet when added to conversation var activity = context.Request.AsConversationUpdateActivity(); if (activity.MembersAdded.Where(m => m.Id == activity.Recipient.Id).Any()) { DefaultResponses.ReplyWithGreeting(context); DefaultResponses.ReplyWithHelp(context); this.Greeted = true; } } break; case ActivityTypes.Message: // greet on first message if we haven't already if (!Greeted) { DefaultResponses.ReplyWithGreeting(context); this.Greeted = true; } return(this.ContinueTopic(context)); } return(Task.FromResult(true)); }
/// <summary> /// Called when the default topic is started /// </summary> /// <param name="context"></param> /// <returns></returns> public async Task <bool> StartTopic(NumberBotContext context) { switch (context.Activity.Type) { case ActivityTypes.ConversationUpdate: { // greet when added to conversation var activity = context.Activity.AsConversationUpdateActivity(); if (activity.MembersAdded.Any(m => m.Id == activity.Recipient.Id)) { this.MinNumber = 1; this.MaxNumber = 100; Random rnd = new Random(); this.SecretNumber = rnd.Next(this.MinNumber, this.MaxNumber); context.UserState.SecretNumber = this.SecretNumber; await DefaultResponses.ReplyWithGreeting(context); await DefaultResponses.ReplyWithHelp(context); this.Greeted = true; } } break; case ActivityTypes.Message: // greet on first message if we haven't already if (!Greeted) { await DefaultResponses.ReplyWithGreeting(context); this.Greeted = true; } return(await this.ContinueTopic(context)); } return(true); }