Example #1
0
        /// <summary>
        /// Process incoming activity (called by outer program
        /// </summary>
        /// <param name="activity"></param>
        /// <returns></returns>
        protected async Task ProcessActivityInternal(IActivity activity, Func <IBotContext, Task> callback = null)
        {
            BotAssert.ActivityNotNull(activity);

            var context = new BotContext(this, activity);

            await RunPipeline(context, callback).ConfigureAwait(false);
        }
Example #2
0
        /// <summary>
        /// Create proactive context around conversation reference
        /// All middleware pipelines will be processed
        /// </summary>
        /// <param name="reference">reference to create context around</param>
        /// <param name="callback">callback where you can continue the conversation</param>
        /// <returns>task when completed</returns>
        public virtual async Task ContinueConversation(ConversationReference reference, Func <IBotContext, Task> callback)
        {
            var context = new BotContext(this, reference);

            await RunPipeline(context, callback).ConfigureAwait(false);
        }
 public static async Task Send(this BotContext context)
 {
     await context.SendActivity(context, new List <IActivity>()).ConfigureAwait(false);
 }