/// <summary> /// Отправляет сообщение в беседу. /// </summary> private async Task SendMessage() { var text = EnteredText.Trim(); EnteredText = String.Empty; var msg = new VKMessage { Body = text, Date = DateTime.Now, ChatID = IsChat ? ChatID : 0, UserID = ServiceHelper.SettingsService.AccessToken.UserID, Type = VKMessageType.Sent, SentType = VKSentMessageType.Sending, Attachments = Attachments.ToList() }; Messages.Insert(0, msg); Messages.NewSentMessages.Add(msg); var param = new Dictionary <string, string>(); param["message"] = text; if (IsChat) { param["chat_id"] = ChatID.ToString(); } else { param["user_id"] = UserID.ToString(); } var request = new UniversalVKRequest <ulong>(VKMethodsConstants.MessageSend, param); var response = await request.ExecuteAsync(); if (response.Error.ErrorType == VKErrors.None) { msg.ID = response.Response; msg.SentType = VKSentMessageType.Unread; } else { msg.SentType = VKSentMessageType.Error; } }
/// <summary> /// Возвращает следующую партию оповещений. /// </summary> /// <param name="count">Количество элементов.</param> private async Task <List <IVKNotification> > GetNextNotifications(uint count = 20) { var parameters = new Dictionary <string, string>(); parameters["count"] = count.ToString(); if (!String.IsNullOrEmpty(nextFrom)) { parameters["start_from"] = nextFrom; } var request = new UniversalVKRequest <VKNotificationsGetResponse>(VKMethodsConstants.NotificationsGet, parameters); var response = await request.ExecuteAsync(); if (response.Error.ErrorType == VKErrors.None) { nextFrom = response.Response.NextFrom; return(response.Response.Items); } else { return(null); } }