Exemple #1
0
        public async Task ExecuteAsync(Message message)
        {
            var allEnvs = await environmentStorage.GetAllEnvironmentNamesAsync();

            var keyboard = Keyboards.CreateKeyboard(allEnvs);

            await botService.Client.SendTextMessageAsync(
                message.Chat.Id,
                "Привет!\n" +
                "Чтобы забронировать площадку, используй /take названиеПлощадки\n" +
                "Чтобы освободить площадку напиши /free названиеПлощадки или /free all чтобы освободить все\n" +
                "Просмотреть свободные площадки - /list\n" +
                "Чтобы добавить новую площадку, напиши /add названиеПлощадки\n",
                replyMarkup : keyboard);
        }
Exemple #2
0
        private async Task FreeAllAsync(Message message)
        {
            var allEnvNames = await environmentStorage.GetAllEnvironmentNamesAsync();

            foreach (var envName in allEnvNames)
            {
                var freeResult = await environmentStorage.FreeAsync(envName, message.Chat.Id);

                if (!freeResult.IsSuccess)
                {
                    await message.ReplyAsync(botService, $"Площадку {envName} не удалось освободить, похоже, ее заняли не вы");
                }
            }

            await message.ReplyAsync(botService, $"Все возможные площадки освобождены");
        }
Exemple #3
0
        public async Task ExecuteAsync(Message message)
        {
            var messageParts = message.Text.Split(' ');

            if (messageParts.Length != 2)
            {
                await message.ReplyAsync(botService, @"Я вас не понял! После /add нужно написать пробел и название площадки");

                return;
            }

            var result = await environmentStorage.AddAsync(messageParts[1]);

            if (result.IsSuccess)
            {
                var allEnvs = await environmentStorage.GetAllEnvironmentNamesAsync();

                await botService.Client.SendTextMessageAsync(message.Chat.Id, "Готово!", replyMarkup : Keyboards.CreateKeyboard(allEnvs));

                return;
            }

            switch (result.ErrorType)
            {
            case ErrorType.EnvironmentExistsAlready:
                await message.ReplyAsync(botService, "Такая площадка уже есть");

                return;

            case ErrorType.EnvironmentProhibited:
                await message.ReplyAsync(botService, "Эту площадку нельзя использовать");

                return;

            default:
                await message.ReplyAsync(botService, "Что-то пошло не так...");

                break;
            }
        }