public static void VkSendAwesomeMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { var attachments = rCommandItem?.Attachments?.Where(i => i.Photo != null); if (attachments == null) { return; } var attachment = attachments.First(); string imageLink = attachment.Photo.Sizes.First(i => i.Width * i.Height == attachment.Photo.Sizes.Max(size2 => size2.Height * size2.Width)).Url; LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); if (imageLink == string.Empty) { SiteUtils.SendMessage(accessToken, rCommandItem, "Изображение НЕ было найдено!"); return; } var value = SiteUtils.AwesomeCheck(imageLink, out bool status); var message = status ? $"Это изображение восхитительно на [{value}%]!" : value; SiteUtils.SendMessage(accessToken, rCommandItem, message); } catch (Exception ex) { SiteUtils.SendMessage(accessToken, rCommandItem, "Произошла ошибка, изображение НЕ было обработано!"); ex.Error(); } }
public static bool SaveOwnerPhoto(string accessToken, JsonCore.VK.UploadPhotoInfoResponse photoInfo) { try { using HttpClient httpClient = new HttpClient(); do { RequestParams requestParams = new RequestParams { ["server"] = photoInfo.Server, ["hash"] = photoInfo.Hash, ["photo"] = photoInfo.Photo, ["access_token"] = accessToken, ["v"] = SiteData.VK.ApiVer, }; var response = httpClient.GetStringAsync(SiteData.VK.ApiPhotosSaveOwnerPhoto.ConvertRequestParams(requestParams)).Result; var desResponse = JsonConvert.DeserializeObject <JsonCore.VK.SaveOwnerPhotoResponse>(response); if (desResponse.Error?.ErrorCode == 14) { LogCore.Log(desResponse.Error.ErrorMsg, response, EnumData.LogTypeCommand.Error, EnumData.LogSourceCommand.VK); continue; } DeletePost(accessToken, desResponse.Response.PostId); return(desResponse.Response.Saved == 1); } while (true); } catch (Exception ex) { ex.Error(); return(false); } }
public static void VkChangeImage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { if (!ChechTotpCode(accessToken, ref rCommandItem)) { return; } var attachments = rCommandItem?.Attachments?.Where(i => i.Photo != null); if (attachments == null) { return; } var attachment = attachments.First(); string imageLink = attachment.Photo.Sizes.First(i => i.Width * i.Height == attachment.Photo.Sizes.Max(size2 => size2.Height * size2.Width)).Url; LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); if (imageLink == string.Empty) { SiteUtils.SendMessage(accessToken, rCommandItem, "Изображение НЕ было добавлено/изменено!"); return; } var imagePath = $"{FileCore.PathImages}\\{rCommandItem.Message.GetDeterministicHashCode()}.png"; File.Delete(imagePath); using (WebClient wc = new WebClient()) { wc.DownloadFile(new Uri(imageLink), imagePath); } SiteUtils.SendMessage(accessToken, rCommandItem, "Изображение было добавлено/изменено!"); } catch (Exception ex) { SiteUtils.SendMessage(accessToken, rCommandItem, "Изображение НЕ было добавлено/изменено!"); ex.Error(); } }
public static void VkSendRandomValueMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { string message = rCommandItem.Message;//.Substring(1); Random rnd = new Random(); if (message.Contains("|")) { string[] values = Array.ConvertAll(rCommandItem.Message.Split('|'), i => i.Trim()); int rndIndex = 0; if (values.Any()) { rndIndex = rnd.Next(0, values.Length); } message = values[rndIndex]; } else if (message.Contains("-")) { int[] values = Array.ConvertAll(rCommandItem.Message.Split('-'), i => int.Parse(i.Trim())); if (values.Length > 1) { message = rnd.Next(values[0], values[1]).ToString(); } } SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } catch (Exception ex) { ex.Error(); } }
public static void CheckingMessagesThread_Start() { if (CheckingMessagesThread.IsAlive) { return; } CheckingMessagesThread = new Thread(delegate() { do { try { if (VkBotController.MessageNewQueue.Count <= 0 || VkBotController.MessageNewQueue[0] == null) { Thread.Sleep(200); continue; } var message_new = VkBotController.MessageNewQueue[0]; VkBotController.MessageNewQueue.Remove(message_new); message_new.Object.Text = Regex.Replace(message_new.Object.Text, @"\[(.)+?\|(.)+?\]", "").Trim(); var tempMessage = ((message_new.Object.Text.Length >= 2 && RMessagesData.RCommandsMarkers.Keys.Contains(message_new.Object.Text[0])) || message_new.Object.VkCheckVoiceMessage() != string.Empty) ? message_new : null; if (tempMessage != null) { string message_text = tempMessage.Object.Text.Trim(); if (message_text.Length <= 1) { continue; } var messageCmd = RMessagesData.RCommandsMarkers[message_text[0]]; message_text = message_text.Substring(1).Trim(); var strCommand = message_text.Substring(0, message_text.Contains(" ") ? message_text.IndexOf(" ", StringComparison.Ordinal) : message_text.Length).Trim(); var tempReceivedItem = new RMessagesData.RCmdsListCollect.RCommandsItem( tempMessage.Object.Date.ToDateTimeFromUnix(), message_text, strCommand, tempMessage?.Object.Attachments, tempMessage.Object.From_Id, tempMessage.Object.Peer_Id, tempMessage.Object.Id, messageCmd, tempMessage.Object); RMessagesData.RCmdsListCollect.RCmdsList.Add(tempReceivedItem); LogCore.Log(message_text, JsonConvert.SerializeObject(tempMessage), EnumData.LogTypeCommand.Info, EnumData.LogSourceCommand.VK); } Thread.Sleep(200); } catch (Exception ex) { ex.Error(); } } while (!CheckingMessagesThreadStop); CheckingMessagesThreadStop = false; CheckingMessagesThread.Abort(); }) { IsBackground = true }; CheckingMessagesThread.Start(); }
public static void DActionLog(this int hash) { if (!DActionDic.ContainsKey(hash)) { return; } string action = DActionDic[hash]; LogCore.Log(action.Replace("...", "OK"), null, EnumData.LogTypeCommand.InfoSuccess, EnumData.LogSourceCommand.Other); DActionDic.Remove(hash); }
public static void VkSendJokeMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { SiteUtils.SendMessage(accessToken, rCommandItem, SiteUtils.GetJoke()); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } catch (Exception ex) { ex.Error(); } }
public static int DActionLog(this string action) { var hashCode = action.GetHashCode(); if (DActionDic.ContainsKey(hashCode)) { DActionDic.Remove(hashCode); } DActionDic.Add(hashCode, action); LogCore.Log(action, null, EnumData.LogTypeCommand.Info, EnumData.LogSourceCommand.Other); return(action.GetHashCode()); }
public static void Main(string[] args) { LogCore.LogWriteStart(); FileCore.CreateHidFolder(); ThreadCore.AccountSetOnlineStart(); ThreadCore.CheckingMessagesThread_Start(); ThreadCore.CommandExecutionThread_Start(); MailCore.Read(); MailCore.InitializeInboxes(); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); CreateHostBuilder(args).Build().Run(); }
public static void VkSendHelpMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { var message = $"Для просмотра списка команд перейдите по ссылке :" + "\n" + @"https://vk.com/bot_igor?w=note379452173_11808679"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } catch (Exception ex) { ex.Error(); } }
public static void VkImageCacheDelete(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { if (!ChechTotpCode(accessToken, ref rCommandItem)) { return; } LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); var imagePath = $"{FileCore.PathImages}\\{rCommandItem.Message.GetDeterministicHashCode()}.png"; File.Delete(imagePath); SiteUtils.SendMessage(accessToken, rCommandItem, "Изображение было удалено!"); } catch (Exception ex) { SiteUtils.SendMessage(accessToken, rCommandItem, "Изображение НЕ было удалено!"); ex.Error(); } }
public static void Error(this Exception e) { Task.Factory.StartNew((() => { try { LogCore.Log(e.Message, $"{e}\n{e.TargetSite}\n", EnumData.LogTypeCommand.Error, EnumData.LogSourceCommand.Other); //MessageBox.Show(e.Message, "Error!", MessageBoxButtons.OK); } catch (AccessViolationException) { } catch (Exception ex) { Error(ex); } })); }
public static void VkMailAdd(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { if (!ChechTotpCode(accessToken, ref rCommandItem)) { return; } LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); if (string.IsNullOrWhiteSpace(rCommandItem.Message)) { SiteUtils.SendMessage(accessToken, rCommandItem, "Пустые данные доступа к почте!"); return; } //rCommandItem.Message = "imap.gmail.com|993|[email protected]|_|true"; var data = rCommandItem.Message.Split('|'); if (data.Length != 5) { SiteUtils.SendMessage(accessToken, rCommandItem, "Недопустимое количество параметров для доступа к почте!"); return; } //string host, int port, string username, string password, bool ssl //imap.gmail.com|993|[email protected]|fqngkupijdfgafhd|true if (MailCore.LoginMail(data[0].Trim(), Int32.Parse(data[1].Trim()), data[2].Trim(), data[3].Trim(), bool.Parse(data[4].Trim()), rCommandItem, accessToken)) { SiteUtils.SendMessage(accessToken, rCommandItem, "Почта была добавлена!"); } else { SiteUtils.SendMessage(accessToken, rCommandItem, "Почта НЕ была добавлена!"); } } catch (Exception ex) { SiteUtils.SendMessage(accessToken, rCommandItem, "Почта НЕ была добавлена! Возникла ошибка! Повторите попытку или обратитесь к администратору!"); ex.Error(); } }
public static void VkSendImageMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { int peerId = rCommandItem.PeerId; ThreadCore.UploadingPhotos = true; var url = SiteUtils.GetMessageAttachmentUrl(accessToken); var attachment = SiteUtils.GetImageByQuery(accessToken, rCommandItem); if (attachment == null) { string message = $"Изображение по запросу {rCommandItem.Message} не найдено!"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } if (attachment.Size() == new Size(0, 0)) { LogCore.Log("Смена ключей Google", JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } SiteUtils.MessagesSetActivity(accessToken, peerId); var photos = SiteUtils.UploadPhotoToServerAsync(url, attachment); var photoId = SiteUtils.SaveMessagePhoto(accessToken, photos); //SiteUtils.MessagesSetActivity(accessToken, peerId); SiteUtils.SendMessage(accessToken, rCommandItem, "", $"photo{photoId}"); ThreadCore.UploadingPhotos = false; LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } catch (Exception ex) { ex.Error(); } }
public static void Initialize(MailSecureItem mailSecureItem) { LogCore.Log($"Initializing mail [{mailSecureItem.Username}]", null, EnumData.LogTypeCommand.System, EnumData.LogSourceCommand.Mail); while (true) { try { var hash = mailSecureItem.GetHashCode(); ImapClients[hash]?.Dispose(); ImapClients.Remove(hash); ImapClients.Add(hash, new ImapClient(mailSecureItem.Host, mailSecureItem.Port, mailSecureItem.Username, mailSecureItem.Password, AuthMethod.Login, mailSecureItem.Ssl)); ImapClients[hash].IdleError += (sender, args) => { args.Exception.Error(); AutoResetEvents[hash].Set(); }; ImapClients[hash].NewMessage += (sender, args) => { try { var letter = args.Client.GetMessage(args.MessageUID, FetchOptions.NoAttachments); SiteUtils.SendMessage(SiteData.VK.GetAccessToken(), mailSecureItem.rCommandItem, letter.ToString(mailSecureItem), "", "", "", true, false); } catch (Exception ex) { SiteUtils.SendMessage(SiteData.VK.GetAccessToken(), mailSecureItem.rCommandItem, "Было получено новое сообщение, но его загрузка завершилась неудачей!"); ex.Error(); } }; AutoResetEvents[hash].WaitOne(); } catch (Exception e) { e.Error(); } } }
public static void VkSendMusicMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { var audioId = SiteUtils.AudioSearch(accessToken, rCommandItem.Message); if (audioId == string.Empty) { string message = $"Аудио по запросу {rCommandItem.Message} не найдено!"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } SiteUtils.SendMessage(accessToken, rCommandItem, "", $"audio{audioId}"); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } catch (Exception ex) { ex.Error(); } }
public static void VkSendVoiceRecognizedMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { using (WebClient wc = new WebClient()) { var voiceUrl = rCommandItem.ItemConversations.VkCheckVoiceMessage(); if (string.IsNullOrWhiteSpace(voiceUrl)) { string message = $"Голосовое сообщение не было распознано! Пустая ссылка аудиосообщения! {voiceUrl}"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } var audioArray = wc.DownloadData(voiceUrl); //var audioArray = File.ReadAllBytes("speech.ogg"); var text = SiteUtils.RecognizeTextFromAudio(audioArray).Trim(); if (string.IsNullOrWhiteSpace(text)) { string message = $"Голосовое сообщение не было распознано! Пустой текст распознанного аудиосообщения!"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } SiteUtils.SendMessage(accessToken, rCommandItem, text); LogCore.Log(text, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } } catch (Exception ex) { ex.Error(); } }
public static void VkSendAnonymousMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { if (rCommandItem.Message.IndexOf(" ", StringComparison.OrdinalIgnoreCase) < 0) { SiteUtils.SendMessage(accessToken, rCommandItem, "Ошибка в распозновании названия группы!"); return; } Regex r = new Regex(@"\s+"); var groupData = DataStorage.DialogsList.Find( i => r.Replace(i.Title, @" ").Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) .All(j => r.Replace(rCommandItem.Message, @" ").IndexOf(j, StringComparison.OrdinalIgnoreCase) >= 0)); if (string.IsNullOrWhiteSpace(groupData?.Title)) { SiteUtils.SendMessage(accessToken, rCommandItem, "Ошибка в распозновании названия группы!"); return; } rCommandItem.Message = Regex.Replace(rCommandItem.Message, groupData.Title, "", RegexOptions.IgnoreCase).Trim(); if (groupData.ChatId == 0) { SiteUtils.SendMessage(accessToken, rCommandItem, "Ошибка в распозновании идентификатора группы!"); return; } if (DataStorage.LastAnonymousMessage.ContainsKey(rCommandItem.FromId)) { if ((DateTime.Now - DataStorage.LastAnonymousMessage[rCommandItem.FromId]).TotalSeconds < 30) { SiteUtils.SendMessage(accessToken, rCommandItem, "Анонимные сообщения можно отправлять ТОЛЬКО один раз в 30 секунд!"); //return; } } else { DataStorage.LastAnonymousMessage.Add(rCommandItem.FromId, DateTime.Now); } var photoId = string.Empty; if (rCommandItem?.Attachments != null && rCommandItem.Attachments.Any(i => i.Photo != null)) { int peerId = rCommandItem.PeerId; ThreadCore.UploadingPhotos = true; var url = SiteUtils.GetMessageAttachmentUrl(accessToken); SiteUtils.MessagesSetActivity(accessToken, peerId); var attachments = rCommandItem?.Attachments?.Where(i => i.Photo != null); var attachment = attachments.First(); string imageLink = attachment.Photo.Sizes.First(i => i.Width * i.Height == attachment.Photo.Sizes.Max(size2 => size2.Height * size2.Width)).Url; var imagePath = $"{FileCore.PathImages}\\{imageLink.GetDeterministicHashCode()}.png"; using (WebClient wc = new WebClient()) { wc.DownloadFile(new Uri(imageLink), imagePath); } var image = Image.Load <Rgba32>(imagePath); if (image.Height > 720) { int height = 720; int width = (int)(720 / (double)image.Height * image.Width); image.Mutate(i => i.Resize(width, height)); } var photos = SiteUtils.UploadPhotoToServerAsync(url, image); photoId = SiteUtils.SaveMessagePhoto(accessToken, photos); SiteUtils.MessagesSetActivity(accessToken, peerId); ThreadCore.UploadingPhotos = false; } rCommandItem.PeerId = groupData.ChatId; var message = $"[АНОНИМНОЕ СООБЩЕНИЕ]" + "\n" + rCommandItem.Message .Substring(rCommandItem.Message.LastIndexOf("*", StringComparison.OrdinalIgnoreCase) + 1).Trim(); SiteUtils.MakeAsReadMessage(accessToken, rCommandItem); rCommandItem.Id = -1; DataStorage.LastAnonymousMessage[rCommandItem.FromId] = DateTime.Now; if (string.IsNullOrWhiteSpace(photoId)) { SiteUtils.SendMessage(accessToken, rCommandItem, message); } else { SiteUtils.SendMessage(accessToken, rCommandItem, message, $"photo{photoId}"); } LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } catch (Exception ex) { ex.Error(); } }
public static void VkSendRSPMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { using (RNGCryptoServiceProvider rg = new RNGCryptoServiceProvider()) { byte[] rno = new byte[5]; rg.GetBytes(rno); int randomvalue = BitConverter.ToInt32(rno, 0); Random rnd = new Random(randomvalue); var randomInt = rnd.Next(1, 3); string message = "[{0}!] Я выбрал {1}"; var userChoise = RMessagesData.RspConverter[rCommandItem.STRCommand]; var botChoise = (EnumData.RspItems)randomInt; var botChoiseStr = RMessagesData.RspConverter.Where( i => i.Value == botChoise).Select(i => i.Key).First(); var loseSrt = "ВЫ ПРОИГРАЛИ"; var winStr = "ВЫ ПОБЕДИЛИ"; if (userChoise == botChoise) { message = string.Format(message, "НИЧЬЯ", botChoiseStr); } else { switch (userChoise) { case EnumData.RspItems.Rock: if (botChoise == EnumData.RspItems.Paper) { message = string.Format(message, loseSrt, botChoiseStr); } if (botChoise == EnumData.RspItems.Scissors) { message = string.Format(message, winStr, botChoiseStr); } break; case EnumData.RspItems.Scissors: if (botChoise == EnumData.RspItems.Rock) { message = string.Format(message, loseSrt, botChoiseStr); } if (botChoise == EnumData.RspItems.Paper) { message = string.Format(message, winStr, botChoiseStr); } break; case EnumData.RspItems.Paper: if (botChoise == EnumData.RspItems.Scissors) { message = string.Format(message, loseSrt, botChoiseStr); } if (botChoise == EnumData.RspItems.Rock) { message = string.Format(message, winStr, botChoiseStr); } break; } } SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.STRCommand, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } } catch (Exception ex) { ex.Error(); } }
public static bool LoginMail(string host, int port, string username, string password, bool ssl, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem, string accessToken) { try { LogCore.Log("Login mail...", null, EnumData.LogTypeCommand.System, EnumData.LogSourceCommand.Mail); ImapClient imapClient = null; try { imapClient = new ImapClient(host, port, username, password, AuthMethod.Login, ssl); } catch (InvalidCredentialsException ice) { LogCore.Log(ice.Message, null, EnumData.LogTypeCommand.Attention, EnumData.LogSourceCommand.Mail); var answer = ice.Message; var loginLink = Regex.Match(answer, @"http[^ \]]+").Value; if (!string.IsNullOrWhiteSpace(loginLink)) { var shortLink = SiteUtils.GetShortLink(accessToken, loginLink); answer = answer.Replace(loginLink, shortLink); if (answer.Contains("WEBALERT")) { SiteUtils.SendMessage(accessToken, rCommandItem, $"Подтвердите вход в почту или разрешить небезопасным приложениям доступ к аккаунту. Ответ сервера :\n{answer}"); } else { if (answer.Contains("ALERT")) { SiteUtils.SendMessage(accessToken, rCommandItem, $"Ошибка вода в почту. Ответ сервера :\n{answer}"); } } } } if (imapClient != null) { if (imapClient.Authed) { var mailSecureItem = new MailSecureItem(host, port, ssl, username, password, rCommandItem); MailSecureList.Add(mailSecureItem); Save(); var hash = mailSecureItem.GetHashCode(); ImapClients.Add(hash, imapClient); AutoResetEvents.Add(hash, new AutoResetEvent(false)); Action action = () => Initialize(mailSecureItem); var thread = new Thread(action.Invoke) { IsBackground = true }; Threads.Add(hash, thread); thread.Start(); LogCore.Log("Login complete!", null, EnumData.LogTypeCommand.System, EnumData.LogSourceCommand.Mail); } else { LogCore.Log("Login NOT complete!", null, EnumData.LogTypeCommand.Attention, EnumData.LogSourceCommand.Mail); } return(imapClient.Authed); } return(false); } catch (Exception ex) { ex.Error(); return(false); } }