vk.Messages.EditChat и vk.Messages.Send не работают вообще, но MessageBox.Show работает(дебажил). C Thread всё работало, но он не подходит, т.к. нельзя остановить
По идее программа должна менять название беседы на нужное, если кто-то её изменил.
ulong appID = ;
string login = "";
string pass = "";
Settings scope = Settings.All;
static string server;
static string key;
static ulong ts;
static string[] chats;
static int selectedIndex;
static bool potok = false;
static string name;
BackgroundWorker v2 = new BackgroundWorker();
public beseda()
{
vk.Authorize(new ApiAuthParams
{
ApplicationId = appID,
Login = login,
Password = pass,
Settings = scope,
});
InitializeComponent();
v2.DoWork += backgroundWorker1_DoWork;
string[] chats = File.ReadAllLines(directory);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(directory, "testinka2");
if (v2.IsBusy)
{
v2.CancelAsync();
}
else
{
v2.RunWorkerAsync();
}
}
public static void tkest()
{
while (true)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://" + server + "?act=a_check&key=" + key + "&ts=" + ts + "&wait=25&mode=2&version=2");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
try { new StreamReader(response.GetResponseStream(), Encoding.UTF8); }
catch (Exception) { break; }
using (StreamReader stream = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
string Text = stream.ReadToEnd();
Newtonsoft.Json.Linq.JObject obj = Newtonsoft.Json.Linq.JObject.Parse(Text);
if ((ulong)obj["ts"] != ts)
{
ts = (ulong)obj["ts"];
if (obj.Count == 0) break;
foreach (var upd in obj["updates"])
{
if ((int)upd[0] == 4)
{
var action = upd[6]["source_act"];
try
{
if (action.ToString() == "chat_title_update")
{
if (upd[6]["source_text"].ToString() != name && ((int)upd[3] - 2000000000) == Convert.ToInt32(chats[selectedIndex]))
{
try { vk.Messages.EditChat(Convert.ToInt64(chats[selectedIndex]), name); }
catch
{
try { vk.Messages.EditChat(Convert.ToInt32(chats[selectedIndex]), name); }
catch { }
}
}
vk.Messages.SendAsync(new VkNet.Model.RequestParams.MessagesSendParams
{
ChatId = 86,
Message = upd[6]["source_text"].ToString()
});
}
}
catch { }
MessageBox.Show("4");
}
}
}
}
}
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
server = vk.Messages.GetLongPollServer(false, 2).Server;
key = vk.Messages.GetLongPollServer(false, 2).Key;
ts = vk.Messages.GetLongPollServer(false, 2).Ts;
MessageBox.Show("gg");
tkest();
}
}
Можно ли проверить открытый ли сейчас баннер ? Необходимо скрыть баннер когда заходим в настройки, и открыть когда выходим из настроек, но когда...