예제 #1
0
        /// <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);
        }
예제 #2
0
        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));
        }
예제 #4
0
        /// <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);
        }