void Start()
    {
        newsAggregator = new NewsAgregator();

        twitterWidget = new TwitterWidget(newsAggregator);
        lentaWidget   = new LentaWidget(newsAggregator);
        tvWidget      = new TvWidget(newsAggregator);


        newsAggregator.NeNewsAvalable();   // оповещение

        twitterWidget.RemoveFromSubject(); // удаление из оповещаемых

        newsAggregator.NeNewsAvalable();   // оповещение
    }
Beispiel #2
0
        static void Main(string[] args)
        {
            IAgregator agregator = new NewsAgregator();
            IObserver  ch1Widget = new Chanel1Widget(agregator);
            IObserver  ch2Widget = new Chanel2Widget(agregator);

            agregator.NotifyObservers();

            //agregator.RemoveObserver(ch1Widget);
            // or
            ch2Widget.RemoveFromAgregator();

            agregator.NotifyObservers();

            Console.ReadLine();
        }
Beispiel #3
0
        private void processUpdate(Telegram.Bot.Types.Update update)
        {
            switch (update.Type)
            {
            case Telegram.Bot.Types.Enums.UpdateType.Message:
                var text = update.Message.Text;

                switch (text)
                {
                case "/Start":
                    _client.SendTextMessageAsync(update.Message.Chat.Id, "Бот запушен\t\n Для получения новостей воспользуйтесь командой /News");
                    break;

                case "/start":
                    _client.SendTextMessageAsync(update.Message.Chat.Id, "Бот запушен\t\n Для получения новостей воспользуйтесь командой /News");
                    break;

                case "/News":
                    _client.SendTextMessageAsync(update.Message.Chat.Id, "Выберите интересующий вас новостной раздел", replyMarkup: GetInlineButtons());
                    break;

                case "/news":
                    _client.SendTextMessageAsync(update.Message.Chat.Id, "Выберите интересующий вас новостной раздел", replyMarkup: GetInlineButtons());
                    break;

                default:
                    _client.SendTextMessageAsync(update.Message.Chat.Id, "Неизвестная команда - " + text + "\t\n Для получения новостей воспользуйтесь командой /News");
                    break;
                }
                break;


            case Telegram.Bot.Types.Enums.UpdateType.CallbackQuery:
                NewsAgregator NA = new NewsAgregator();

                switch (update.CallbackQuery.Data)
                {
                case "1":
                    var msg1 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83d\udce2 ГЛАВНОЕ:\t\n" + NA.GetMain().Result, replyMarkup: GetInlineButtons());
                    break;

                case "2":
                    var msg2 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\u2694\ufe0f ПОЛИТИКА:\t\n" + NA.GetPolitic().Result, replyMarkup: GetInlineButtons());
                    break;

                case "3":
                    var msg3 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83d\udcbc ЭКОНОМИКА:\t\n" + NA.GetEconomic().Result, replyMarkup: GetInlineButtons());
                    break;

                case "4":
                    var msg4 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83e\udd4a СПОРТ:\t\n" + NA.GetSport().Result, replyMarkup: GetInlineButtons());
                    break;

                case "5":
                    var msg5 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83d\udcb5 КУРС ВАЛЮТ:\t\n" + NA.GetRates().Result);
                    break;
                }
                break;

            default:
                Console.WriteLine(update.Type + " Данный тип сообщения не обрабатывается");
                break;
            }
        }