private void OnNewConnectToBotCommand() { try{ TelegramBot = new TelegramBotObjectModel(TelegramToken); User bot = TelegramBot.CreateBot(); if (!string.IsNullOrWhiteSpace(bot.Username)) { StatusMessage = string.Format("Connected to User ID: {0} ({1})", bot.Id.ToString(), bot.Username ); } else { StatusMessage = string.Format("Not Connected"); } } catch (Exception e) { StatusMessage = string.Format("Error"); new MessageBoxViewModel { Caption = "Message Box", Message = string.Format("Cant Connect to Telegram: \n{0} \n{1}", e.Message, e.InnerException == null ? "" : e.InnerException.InnerException.Message), Image = MessageBoxImage.Information }.Show(this.Dialogs); } }
/// <summary> /// /// </summary> /// <param name="_staticEvents"></param> /// <param name="_responseCollection"></param> /// <param name="_responseObjectModel"></param> public ResponseConfigurationDialogTelegramMessageResponseViewModel(ObservableCollection <EventObjectModel> _staticEvents, ObservableCollection <ResponseObjectModel> _responseCollection, ResponseObjectModel _responseObjectModel) { resLoader = new ResourceLoader(); ResponseObjectModel = _responseObjectModel; responseCollection = _responseCollection; StatusMessage = string.Format("Not Connected"); if (ResponseObjectModel != null && ResponseObjectModel.ResponseObject != null) { if (ResponseObjectModel.ResponseObject is TelegramMessageObjectModel) { TelegramMessageObject = ResponseObjectModel.ResponseObject as TelegramMessageObjectModel; if (TelegramMessageObject.Bot2Use.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Single()) { StatusMessage = string.Format("Online with ChatID: {0}", TelegramMessageObject.Bot2Use.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.chatID).Single()); TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>(); TelegramBotObjectCollection.Add(TelegramMessageObject.Bot2Use); SelectedTelegramBotObject = TelegramMessageObject.Bot2Use; ResponseObjectModel.HasConfiguration = true; } } } else { telegramBot = new TelegramBotObjectModel(); TelegramMessageObject = new TelegramMessageObjectModel(telegramBot); ResponseObjectModel = new ResponseObjectModel(TelegramMessageObject); messagesWithBot = from q in responseCollection where !string.IsNullOrEmpty((q.ResponseObject as TelegramMessageObjectModel).Bot2Use.BotName) select(q.ResponseObject as TelegramMessageObjectModel); var query = (from q in (from p in responseCollection where (p.ResponseObject is TelegramMessageObjectModel)select(p.ResponseObject as TelegramMessageObjectModel).Bot2Use).Select(p => p).Distinct() where q.BotName != null select q); foreach (EventObjectModel eventObject in _staticEvents) { foreach (ResponseObjectModel responseObjectModel in from x in eventObject.ResponseCollection where x.ResponseObject is TelegramMessageObjectModel select x) { if (!query.Contains((responseObjectModel.ResponseObject as TelegramMessageObjectModel).Bot2Use)) { TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>(query as IEnumerable <TelegramBotObjectModel>); TelegramBotObjectCollection.Add((responseObjectModel.ResponseObject as TelegramMessageObjectModel).Bot2Use); SelectedTelegramBotObject = TelegramBotObjectCollection[0]; } } } if (!query.Any() && TelegramBotObjectCollection == null) { TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>(); } else { if (TelegramBotObjectCollection == null) { TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>(query as IEnumerable <TelegramBotObjectModel>); } if (this.TelegramBotObjectCollection.Count > 0 && SelectedTelegramBotObject == null) { SelectedTelegramBotObject = this.TelegramBotObjectCollection[0]; } if ( SelectedTelegramBotObject != null && SelectedTelegramBotObject.TelegramUsers != null && SelectedTelegramBotObject.TelegramUsers.Count > 0 && SelectedTelegramBotObject.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Single() ) { TelegramMessageObject.Bot2Use = SelectedTelegramBotObject; ResponseObjectModel.HasConfiguration = true; StatusMessage = string.Format("Online with ChatID: {0}", TelegramMessageObject.Bot2Use.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.chatID).Single()); } } //TelegramBotObjectCollection.Add((objectModel.ResponseObject as TelegramMessageObjectModel).Bot); } }