private List <long> GetUserIdsRecursive(VkMessage message) { var result = new List <long>(); if (message != Message.MessageContent) { result.Add(message.UserId); } if (!message.ForwardMessages.IsNullOrEmpty()) { foreach (var forwardMessage in message.ForwardMessages) { result.AddRange(GetUserIdsRecursive(forwardMessage)); } } return(result); }
public VkMessageModel(VkMessage message, IEnumerable <VkGroup> groups) { Id = message.Id; OwnerId = message.OwnerId; Date = message.Date; Text = message.Text; FromId = message.FromId; Images = message.Attachments .Where(f => f.Type == MessageAttachmentType.photo && f.Photo?.Sizes != null && f.Photo.Sizes.Count > 2 ) .Select(f => f.Photo.Sizes[3].Url) .ToArray(); LikesCount = message.Likes?.Count ?? 0; RepostsCount = message.Reposts?.Count ?? 0; Owner = groups.Where(a => a.Id == -message.OwnerId).Select(f => f.Name).FirstOrDefault() ?? ""; }
public async Task <VkItemsResponse <VkMessage> > GetChatHistoryAndMarkAsRead(long userId, long chatId = 0, int offset = 0, int count = 0, bool rev = false, bool markAsRead = false) { var parametres = new Dictionary <string, string>(); if (userId != 0) { parametres.Add("user_id", userId.ToString()); } else { if (chatId != 0) { parametres.Add("chat_id", chatId.ToString()); } else { throw new Exception("User id or chat id must be specified."); } } if (offset > 0) { parametres.Add("offset", offset.ToString()); } if (count > 0) { parametres.Add("count", count.ToString()); } if (rev) { parametres.Add("rev", "1"); } if (markAsRead) { parametres.Add("markAsRead", "1"); } _vkontakte.SignMethod(parametres); var response = await VkRequest.GetAsync(VkConst.MethodBase + "execute.getChatHistoryAndMarkAsRead", parametres); if (response.SelectToken("response.items") != null) { return(new VkItemsResponse <VkMessage>(response["response"]["items"].Select(i => VkMessage.FromJson(i, _vkontakte.ApiVersion)).ToList(), (int)response["response"]["count"])); } return(VkItemsResponse <VkMessage> .Empty); }
public Message(VkMessage message, VkProfile sender) { MessageContent = message; Sender = sender; }
public Dialog(VkMessage message) { _message = message; }
public Dialog(VkDialog dialog) { UnreadCount = dialog.Unread; _message = dialog.Message; }