示例#1
0
        private List <MessageKeyboardButton> GetMessageButton(DB.Entity.Messages msg)
        {
            var parameters = new List <PayloadParam>();

            parameters.Add(new PayloadParam()
            {
                ParamName = "Id сообщения",
                Value     = msg.Id.ToString(),
            });
            var payload = new Payload()
            {
                Params = parameters,
            };
            var buttons = new List <MessageKeyboardButton>();

            buttons.Add(new MessageKeyboardButton()
            {
                Action = new MessageKeyboardButtonAction()
                {
                    Label   = $"\"{msg.Comment} \" ({new GetConcreteImportant().KeyWord})",
                    Type    = KeyboardButtonActionType.Text,
                    Payload = payload.Serialize(),
                },
                Color = KeyboardButtonColor.Default
            });
            return(buttons);
        }
示例#2
0
        public override void Calculate(Request request, Response response)
        {
            using (var con = new Context())
                using (var transaction = con.Database.BeginTransaction())
                {
                    if (request.ReplyMessage != 0)
                    {
                        try
                        {
                            var newMessage = new DB.Entity.Messages()
                            {
                                Id      = (int)request.ReplyMessage,
                                Comment = request.MessageText.Replace(KeyWord, ""),
                            };
                            if (!con.History.Any(_ => _.Id == newMessage.Id))
                            {
                                con.History.Add(newMessage);
                                con.SaveChanges();
                            }
                            else
                            {
                                con.Update(newMessage);
                            }
                        }
                        catch (Exception ex)
                        {
                            response.ResponseText = "ъеъ " + ex;
                        }

                        transaction.Commit();

                        var reply = new List <long>();
                        reply.Add(request.Message.Id ?? 0);

                        request.vkApi.Messages.Send(new MessagesSendParams
                        {
                            RandomId        = new DateTime().Millisecond,
                            PeerId          = request.UserID,
                            Message         = "Важно?",
                            ForwardMessages = reply,
                            UserId          = response?.UserId ?? 0,
                            //Keyboard = response.Keyboard.SetInlineVoteKeyboard(),
                        });
                    }
                    else
                    {
                        response.ResponseText = "нужно послать ответ на сообщение)";
                    }
                }
        }