Advertisement
danya777_kirov

че??????

Dec 11th, 2013
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.48 KB | None | 0 0
  1. namespace VK.Functions
  2. {
  3.     public class VKMessages
  4.     {
  5.         public bool SendMessage(int owner_id, string text)
  6.         {
  7.             string response = VKMain.VKRequests.VKMethod("messages.send", "user_id=" + owner_id + "&message=" + text);
  8.             return true;
  9.         }
  10.         public void ShowMessages(int user)
  11.         {
  12.             if (user > VKMain.VKUsers.INVALID_USERID)
  13.             {
  14.                 MessageCount = 0;
  15.                 MessageView[] _temp_list = GetMessages(user, 200);
  16.                 MessageView[] _temp_list_me = GetMessages(user, 200, true);
  17.                 for (int i = 0; i < 200; i++)
  18.                 {
  19.                     for (int x = 0; x < 200; x++)
  20.                     {
  21.                         if (MessageCount > 199) break;
  22.                         if (_temp_list[x].Message.ID > _temp_list[i].Message.ID)
  23.                         {
  24.                             MessagesList[MessageCount].Message = _temp_list[x].Message;
  25.                         }
  26.                         else
  27.                         {
  28.                             MessagesList[MessageCount].Message = _temp_list_me[i].Message;
  29.                         }
  30.                         MessageCount++;
  31.                     }
  32.                 }
  33.                 VKMain.Menu.list_msg.Items.Clear();
  34.                 string name = "";
  35.                 for (int i = 0; i < 200; i++)
  36.                 {
  37.                     bool created_name = false;
  38.                     if (i > 0)
  39.                     {
  40.                         if (MessagesList[i].Message.Out == MessagesList[i - 1].Message.Out) created_name = true;
  41.                     }
  42.                     if (!created_name)
  43.                     {
  44.                         if (MessagesList[i].Message.Out) name = VKMain.VKUsers.GetUserName(VKMain.VKAccount.MY_ACCOUNT_ID);
  45.                         else name = VKMain.VKUsers.GetUserName(user);
  46.                         Thread.Sleep(200);
  47.                     }
  48.                     if (MessagesList[i].Message.Body != null)
  49.                         VKMain.Menu.list_msg.Items.Add(name + " : " + MessagesList[i].Message.Body);
  50.                 }
  51.             }
  52.         }
  53.         public MessageView[] GetMessages(int user_id, int count, bool me = false)
  54.         {
  55.             MessageView[] MSG = new MessageView[count + 1];
  56.             JObject JSON = VKMain.VKRequests.VKMethodJSON("messages.get", "count=1");
  57.             int integrations = 0;
  58.             for (int i = 0; i <= count; i = i + 100)
  59.             {
  60.                 if (count >= 100) JSON = VKMain.VKRequests.VKMethodJSON("messages.get", "out=" + Convert.ToInt32(me) + "&count=100&offset=" + i);
  61.                 else JSON = VKMain.VKRequests.VKMethodJSON("messages.get", "out=" + Convert.ToInt32(me) + "&count=" + count + "&offset=" + i);
  62.                 for (int x = 0; x < JSON["response"]["items"].ToArray().Length; x++)
  63.                 {
  64.                     if (Convert.ToInt32(JSON["response"]["items"][x]["user_id"]) == user_id)
  65.                     {
  66.                         if (integrations >= count) break;
  67.                         MSG[integrations].Message = CreateMessageStruct(JSON["response"]["items"][x]);
  68.                         integrations++;
  69.                     }
  70.                 }
  71.                 if (integrations >= count) break;
  72.                 Thread.Sleep(200);
  73.             }
  74.             return MSG;
  75.         }
  76.         private Message CreateMessageStruct(JToken JSON)
  77.         {
  78.             Message MSG = new Message();
  79.             MSG.ID = Convert.ToInt32(JSON["id"]);
  80.             MSG.UserID = Convert.ToInt32(JSON["user_id"]);
  81.             MSG.Date = Convert.ToInt32(JSON["date"]);
  82.             MSG.ReadState = Convert.ToBoolean(JSON["read_state"]);
  83.             MSG.Out = Convert.ToBoolean(JSON["out"]);
  84.             MSG.Title = JSON["title"].ToString();
  85.             MSG.Body = JSON["body"].ToString();
  86.             return MSG;
  87.         }
  88.         public struct MessageView
  89.         {
  90.             public Message  Message;
  91.         };
  92.         public struct Message
  93.         {
  94.             public int      ID;
  95.             public int      UserID; // отправитель
  96.             public int      Date;
  97.             public bool     ReadState;
  98.             public bool     Out; // 0 - полученное
  99.             public string   Title;
  100.             public string   Body; // текст
  101.         };
  102.         public MessageView[] MessagesList = new MessageView[200];
  103.         public int MessageCount;
  104.         public int LastUser;
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement