/// <summary> Получение списка диалогов </summary> public IEnumerable <MessagesDialog> GetDialogs(int count) { try { var result = client.Messages.GetDialogs(new Citrina.StandardApi.Models.MessagesGetDialogsRequest() { AccessToken = token, Count = count, Unread = true }).Result; if (result.IsError || result == null) { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } return(result.Response?.Items); } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); return(null); } }
public void SendMessage(int userId, string message, IEnumerable <PhotosPhoto> attachments = null) { try { var result = cit.Messages.Send(new Citrina.StandardApi.Models.MessagesSendRequest() { AccessToken = token, UserId = userId, Message = message, Attachment = attachments == null ? null : string.Join(",", attachments.Select(a => "photo" + a.OwnerId + '_' + a.Id).ToArray()) }).Result; if (result.Response.HasValue) { MessageSended?.Invoke(this, new MessageEventArgs <TUserStates>(new VkMessage <TUserStates>(this, userId, message, result.Response.Value))); } else { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } }
/// <summary> Отправка сообщения </summary> public void SendMessage(int userId, string message, IEnumerable <string> attachments = null) { try { var result = client.Messages.Send(new Citrina.StandardApi.Models.MessagesSendRequest() { AccessToken = token, UserId = userId, Message = message, Attachment = attachments == null ? null : string.Join(",", attachments /*attachments.Select(a => "photo" + a.OwnerId + '_' + a.Id)*/.ToArray()) }).Result; if (result.Response.HasValue) { MessageSended?.Invoke(this, new MessageEventArgs(new Message(userId, DateTime.Now, MessageDirection.Out, message, string.Join(",", attachments ?? Enumerable.Empty <string>())))); } else { SendMessageError?.Invoke(this, new MessageEventArgs(new Message(userId, DateTime.Now, MessageDirection.Out, message, string.Join(",", attachments ?? Enumerable.Empty <string>())))); } } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } }
public IEnumerable <MessagesMessage> GetMessages(int userId, int count) { try { var result = cit.Messages.GetHistory(new Citrina.StandardApi.Models.MessagesGetHistoryRequest() { AccessToken = token, UserId = userId.ToString(), Count = count, Rev = 0 }).Result; if (result.IsError || result == null) { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } return(result.Response.Items.Reverse().ToArray()); } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); return(null); } }