Example #1
0
        /// <summary>
        /// Converts a single Facebook messenger message to a Bot Framework activity.
        /// </summary>
        /// <param name="message">The message to be processed.</param>
        /// <returns>An Activity with the result.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="message"/> is null.</exception>
        /// <remarks>A webhook call may deliver more than one message at a time.</remarks>
        public static Activity ProcessSingleMessage(FacebookMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            if (message.Sender == null && message.OptIn?.UserRef != null)
            {
                message.Sender = new FacebookBotUser {
                    Id = message.OptIn?.UserRef
                };
            }

            var activity = new Activity()
            {
                ChannelId    = "facebook",
                Timestamp    = default,