Esempio n. 1
0
        public async Task <ConversationResourceResponse> CreateConversationAsync(Activity activity, CancellationToken cancellationToken = default(CancellationToken))
        {
            var user = activity.From;
            var bot  = activity.Recipient;

            // 建立參數
            var members = new List <ChannelAccount>()
            {
                user
            };
            var conversationParams = new ConversationParameters(bot: bot, members: members, activity: activity);

            // 建立Conversation
            var client   = new GssConnectorClient(new Uri(Activity.ServiceUrl));
            var response = await client.Conversations.CreateConversationAsync(conversationParams);

            return(response);
        }
Esempio n. 2
0
        public async Task <ResourceResponse> SendToConversationAsync(IActivity activity, CancellationToken cancellationToken = default(CancellationToken))
        {
            var client = new GssConnectorClient(new Uri(Activity.ServiceUrl));

            if (TypingTime != 0)
            {
                if (IsDisplayTyping)
                {
                    // 顯示Bot正在打字
                    var typingReply = Activity.CreateReply();
                    typingReply.ChannelData = Activity.ChannelData;
                    typingReply.Type        = ActivityTypes.Typing;

                    // Reply
                    await client.Conversations.SendToConversationAsync(typingReply, cancellationToken);
                }

                // 等候
                Thread.Sleep(TypingTime);
            }

            return(await client.Conversations.SendToConversationAsync(activity as Activity, cancellationToken));
        }
Esempio n. 3
0
        // Send Message
        public ResourceResponse SendToConversation(IActivity activity)
        {
            var client = new GssConnectorClient(new Uri(Activity.ServiceUrl));

            if (TypingTime != 0)
            {
                if (IsDisplayTyping)
                {
                    // 顯示Bot正在打字
                    var typingReply = Activity.CreateReply();
                    typingReply.ChannelData = Activity.ChannelData;
                    typingReply.Type        = ActivityTypes.Typing;

                    // Reply
                    client.Conversations.SendToConversation(typingReply);
                }

                // 等候
                Thread.Sleep(TypingTime);
            }

            return(client.Conversations.SendToConversation(activity as Activity));
        }
Esempio n. 4
0
        public async Task DeleteActivityAsync(string conversationId, string activityId, CancellationToken cancellationToken = default(CancellationToken))
        {
            var client = new GssConnectorClient(new Uri(Activity.ServiceUrl));

            await client.Conversations.DeleteActivityAsync(conversationId, activityId, cancellationToken);
        }
Esempio n. 5
0
        // Delete Message
        public void DeleteActivity(string conversationId, string activityId)
        {
            var client = new GssConnectorClient(new Uri(Activity.ServiceUrl));

            client.Conversations.DeleteActivity(conversationId, activityId);
        }
Esempio n. 6
0
        public async Task <ResourceResponse> UpdateActivityAsync(IActivity activity, CancellationToken cancellationToken = default(CancellationToken))
        {
            var client = new GssConnectorClient(new Uri(Activity.ServiceUrl));

            return(await client.Conversations.UpdateActivityAsync(activity as Activity, cancellationToken));
        }
Esempio n. 7
0
        public ResourceResponse UpdateActivity(string conversationId, string activityId, IActivity activity)
        {
            var client = new GssConnectorClient(new Uri(Activity.ServiceUrl));

            return(client.Conversations.UpdateActivity(conversationId, activityId, activity as Activity));
        }