コード例 #1
0
        //Get Schedule For Day
        public void GetScheduleForDay(CallbackQueryEventArgs callbackQueryEventArgs)
        {
            var args = ArgParser.ParseCallbackData(callbackQueryEventArgs.CallbackQuery.Data);

            var directionArg = args.GetValueOrDefault(Commands.Direction);
            var direction    = directionArg == Way.ToCTIR.ToString() ? Way.ToCTIR : Way.ToRzeszow;

            DateTime selectedDay = DateTime.Parse(args.GetValueOrDefault(Commands.Date));

            //Get schedule for date
            var text = ScheduleHelper.GenerateSchedule(selectedDay, direction, User.GetLanguage);

            //Send menu to get back
            var inlineKeyboard = new InlineKeyboardMarkup(new[]
            {
                new [] // First row
                {
                    // Bus stations button
                    InlineKeyboardButton.WithCallbackData(Local.BusStations[User.GetLanguage], Commands.GetBusStation),
                },
                new [] // Second row
                {
                    // Weather button
                    InlineKeyboardButton.WithCallbackData(Local.Weather[User.GetLanguage], $"{Commands.RefreshWeather}"),
                    // Bus schedule url
                    InlineKeyboardButton.WithUrl(Local.URLSchedule[User.GetLanguage], "https://wsiz.edu.pl/studia/informator/rozklad-jazdy-uczelnianego-autobusu"),
                },
                // Third row
                TemplateModelsBuilder.WaysForBus()
            });

            SendMessageAsync(ChatId, text, ParseMode.Markdown, replyMarkup: inlineKeyboard);
            DeleteMessageAsync(ChatId, MessageId);
        }
コード例 #2
0
        //Bus stations
        public void GetBusStation(CallbackQueryEventArgs callbackQueryEventArgs)
        {
            var args = ArgParser.ParseCallbackData(callbackQueryEventArgs.CallbackQuery.Data);

            var busStation = args.GetValueOrDefault(Commands.BusStation);

            //List All stations
            if (busStation == null)
            {
                var stationsInline = TemplateModelsBuilder.BusStations();
                EditMessageTextAsync(ChatId, MessageId, Local.PickBusStation[User.GetLanguage], ParseMode.Markdown, replyMarkup: stationsInline);
            }
            //Get station info
            else
            {
                var stationId = int.Parse(busStation);
                var station   = (Local.PointNames)stationId;

                var inlineKeyboard = new InlineKeyboardMarkup(new[]
                {
                    new [] //First row
                    {
                        InlineKeyboardButton.WithCallbackData(Local.BusStations[User.GetLanguage], Commands.GetBusStation),
                    },
                    new []
                    {
                        InlineKeyboardButton.WithCallbackData(Local.Menu[User.GetLanguage], Commands.GetStartMenu),
                    },
                    TemplateModelsBuilder.WaysForBus()
                });

                DeleteMessageAsync(ChatId, MessageId);

                SendMessageAsync(ChatId, Local.BusPointNames[station], ParseMode.Markdown);
                SendLocationAsync(ChatId, Local.BusPoints[station][0], Local.BusPoints[station][1]);
                SendMessageAsync(ChatId, Local.ReturnBack[User.GetLanguage], ParseMode.Markdown, replyMarkup: inlineKeyboard);
            }
        }