コード例 #1
0
        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            var message = await result;

            if (!_conversationDataSaved)
            {
                context.PrivateConversationData.SetValue(ConversationDataKeys.ChannelId, message.ChannelId);
                context.PrivateConversationData.SetValue(ConversationDataKeys.FromId, message.From.Id);
                context.PrivateConversationData.SetValue(ConversationDataKeys.FromName, message.From.Name);
                context.PrivateConversationData.SetValue(ConversationDataKeys.ConversationId, message.Conversation.Id);

                await _accessor.EnsureUser(message.ChannelId, message.From.Id, message.From.Name, message.Conversation.Id);

                _conversationDataSaved = true;
            }

            if (message.Text == null)
            {
                ShowMenu(context);
            }
        }
コード例 #2
0
        public override async Task OnConversationUpdate(IConversationUpdateActivity updateActivity)
        {
            var connector = updateActivity.CreateConnectorClient();
            var activity  = ((Activity)updateActivity);

            if (updateActivity.AreMembersAdded())
            {
                var username = activity.MembersAdded[0].Name;
                var greeting = username != "You" ? $"Cześć, {username}! :)" : "Cześć! :)";

                await connector.Conversations.ReplyToActivityAsync(activity.CreateReply(greeting));

                await connector.Conversations.ReplyToActivityAsync(activity.CreateReply("Jestem botem, który pomoże Ci monitorować poziom zanieczyszczenia powietrza. 🏭"));

                if (activity.From.Name != null)
                {
                    await _accessor.EnsureUser(activity.ChannelId, activity.From.Id, activity.From.Name, activity.Conversation.Id);

                    await OnMessage(activity);
                }
            }
        }