コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 /// <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);
     }
 }
コード例 #4
0
        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);
            }
        }