Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace VK.Functions
- {
- public class VKMessages
- {
- public bool SendMessage(int owner_id, string text)
- {
- string response = VKMain.VKRequests.VKMethod("messages.send", "user_id=" + owner_id + "&message=" + text);
- return true;
- }
- public void ShowMessages(int user)
- {
- if (user > VKMain.VKUsers.INVALID_USERID)
- {
- MessageCount = 0;
- MessageView[] _temp_list = GetMessages(user, 200);
- MessageView[] _temp_list_me = GetMessages(user, 200, true);
- for (int i = 0; i < 200; i++)
- {
- for (int x = 0; x < 200; x++)
- {
- if (MessageCount > 199) break;
- if (_temp_list[x].Message.ID > _temp_list[i].Message.ID)
- {
- MessagesList[MessageCount].Message = _temp_list[x].Message;
- }
- else
- {
- MessagesList[MessageCount].Message = _temp_list_me[i].Message;
- }
- MessageCount++;
- }
- }
- VKMain.Menu.list_msg.Items.Clear();
- string name = "";
- for (int i = 0; i < 200; i++)
- {
- bool created_name = false;
- if (i > 0)
- {
- if (MessagesList[i].Message.Out == MessagesList[i - 1].Message.Out) created_name = true;
- }
- if (!created_name)
- {
- if (MessagesList[i].Message.Out) name = VKMain.VKUsers.GetUserName(VKMain.VKAccount.MY_ACCOUNT_ID);
- else name = VKMain.VKUsers.GetUserName(user);
- Thread.Sleep(200);
- }
- if (MessagesList[i].Message.Body != null)
- VKMain.Menu.list_msg.Items.Add(name + " : " + MessagesList[i].Message.Body);
- }
- }
- }
- public MessageView[] GetMessages(int user_id, int count, bool me = false)
- {
- MessageView[] MSG = new MessageView[count + 1];
- JObject JSON = VKMain.VKRequests.VKMethodJSON("messages.get", "count=1");
- int integrations = 0;
- for (int i = 0; i <= count; i = i + 100)
- {
- if (count >= 100) JSON = VKMain.VKRequests.VKMethodJSON("messages.get", "out=" + Convert.ToInt32(me) + "&count=100&offset=" + i);
- else JSON = VKMain.VKRequests.VKMethodJSON("messages.get", "out=" + Convert.ToInt32(me) + "&count=" + count + "&offset=" + i);
- for (int x = 0; x < JSON["response"]["items"].ToArray().Length; x++)
- {
- if (Convert.ToInt32(JSON["response"]["items"][x]["user_id"]) == user_id)
- {
- if (integrations >= count) break;
- MSG[integrations].Message = CreateMessageStruct(JSON["response"]["items"][x]);
- integrations++;
- }
- }
- if (integrations >= count) break;
- Thread.Sleep(200);
- }
- return MSG;
- }
- private Message CreateMessageStruct(JToken JSON)
- {
- Message MSG = new Message();
- MSG.ID = Convert.ToInt32(JSON["id"]);
- MSG.UserID = Convert.ToInt32(JSON["user_id"]);
- MSG.Date = Convert.ToInt32(JSON["date"]);
- MSG.ReadState = Convert.ToBoolean(JSON["read_state"]);
- MSG.Out = Convert.ToBoolean(JSON["out"]);
- MSG.Title = JSON["title"].ToString();
- MSG.Body = JSON["body"].ToString();
- return MSG;
- }
- public struct MessageView
- {
- public Message Message;
- };
- public struct Message
- {
- public int ID;
- public int UserID; // отправитель
- public int Date;
- public bool ReadState;
- public bool Out; // 0 - полученное
- public string Title;
- public string Body; // текст
- };
- public MessageView[] MessagesList = new MessageView[200];
- public int MessageCount;
- public int LastUser;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement