private void Client_OnFail(object sender, int e) { LoggerHolder.Log.Error($"VkBotApiProvider_Client_OnFail with {e}"); var settings = _vkApi.Groups.GetLongPollServer(_settings.GroupId).Result; var client = _vkApi.StartBotLongPollClient ( settings.Server, settings.Key, Convert.ToInt32(settings.Ts) ).Result; _client = client; _client.OnMessageNew += Client_OnMessageNew; _client.LongPollFailureReceived += Client_OnFail; _client.ResponseReceived += Client_OnResponse; }
public Result Initialize() { var accessToken = AccessToken.FromString(_settings.Key); _vkApi = new Vkontakte(_settings.AppId, new VkLibraryLogger(_vkFileLogger), _settings.AppSecret) { AccessToken = accessToken }; Task <GroupsLongPollServer> getSettingsTask = _vkApi.Groups.GetLongPollServer(_settings.GroupId); getSettingsTask.WaitSafe(); if (getSettingsTask.IsFaulted) { return(new Result(false, "Get long poll server failed").WithException(getSettingsTask.Exception)); } var settings = getSettingsTask.Result; Task <BotLongPollClient> clientTask = _vkApi.StartBotLongPollClient ( settings.Server, settings.Key, Convert.ToInt32(settings.Ts) ); clientTask.WaitSafe(); if (clientTask.IsFaulted) { return(new Result(false, "Auth is failed").WithException(clientTask.Exception)); } _client = clientTask.Result; _client.OnMessageNew += Client_OnMessageNew; _client.LongPollFailureReceived += Client_OnFail; _client.ResponseReceived += Client_OnResponse; return(new Result(true, "Auth successfully")); }