Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.04.2021
Сообщений: 5
Telegram Bot

Ответить пользователю на следующее сообщение после команды

20.11.2022, 14:18. Показов 1488. Ответов 2

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как сделать так, чтобы после того, как пользователь ввел команду /student, он мог ввести название своей группы, а бот на это ответил: "Приветствую вас, студента группы " + название группы.

Ниже представлен мой код, в результате которого бот отвечает: "Приветствую вас, студента группы /student".


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
private static async Task UpdateHandler(ITelegramBotClient bot, Update update, CancellationToken token)
        {
           var message = update.Message;
           if (update.Type == UpdateType.Message)
            {
                if (message.Type == MessageType.Text)
                {
                    var _botUpdate = new BotUpdate
                    {
                        text = message.Text,
                        id = message.Chat.Id,
                        username = message.Chat.Username
                    };
                    botUpdates.Add(_botUpdate);
                    var botUpdatesString = JsonConvert.SerializeObject(botUpdates);
                    System.IO.File.WriteAllText(fileName, botUpdatesString);
                    if (message.Text.ToLower().Contains("/start"))
                    {
                        await bot.SendTextMessageAsync(message.Chat.Id, "Приветствую! Это бот создан для просмотра расписания пар. " +
                            "\n\nЕсли вы преподаватель введите: /teacher \nЕсли вы студент введите: /student");
                        return;
                    }
 
                    if (message.Text.ToLower().Contains("/student"))
                    {
                        await bot.SendTextMessageAsync(message.Chat.Id, "Введите группу в следующем формате: \nСП-41");
                        
                        await bot.SendTextMessageAsync(message.Chat.Id, "Приветствую вас, студента группы " + message.Text);
                    }
                }
                }
            }    
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2022, 14:18
Ответы с готовыми решениями:

После выполнения определённой команды не выполняются последующие команды
Объясните, пожалуйста, почему может останавливаться выполнение второй и далее комманд? cd C:\Users\alex_iv\Desktop\test_node\ node...

Приложение-опросник, в котором пользователю предлагается ответить на 5 разных вопросов
Разработать приложение “Опросник Иванова ИИ”, в котором пользователю предлагается ответить на 5 разных вопросов. Каждый вопрос содержит...

Как ответить на пакет после потери связи?
Вобщем есть задача, нужно ответить на запрос спустя какое-то время, при этом TcpClient соединение закрывается сразу после получения...

2
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
20.11.2022, 22:43
CyberIgorka, нужно сохранить текущее состояние диалога и дождаться следующего сообщения от пользователя , в котором бот будет ожидать название группы.

А Вы просто два раза отправляете сообщение пользователю - на 26 и 28 строке , - message.Text должен обновиться , новое значение будет только в следующей итерации UpdateHandler
0
5 / 5 / 2
Регистрация: 08.02.2021
Сообщений: 49
22.11.2022, 01:37
CyberIgorka, http://habr.com/ru/sandbox/148886/ в помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2022, 01:37
Помогаю со студенческими работами здесь

Отображение формы после нажатия на кнопку Ответить
Задача такова: имеется страница с вопросом, для того чтобы ответить необходимо нажать на кнопку Ответить, и сразу должно выдвинуться на...

Выполнение команды "Ответить всем", если в теме или в сообщении есть слово "отчёт"
Добрий день! Помогите с макросом для MS Office Outlook, нужен макрос для виполнения команди "Ответить всем" для письма...

Следующее число после
Нужно найти в таблице следующее число после того которое я задам. То есть, например: 1 2 3 4 5 7 8

Переслать, ответить на сообщение
Здраствуйте. Подскажите, как сделать так, чтобы бот в беседе переслал сообщение в этот же чат и ответил на него? Бот работает от имени...

После команды start батник прекращает выполнение. Как запустить 2 команды start?
Я хочу одним кликом на батник запускать сразу и BrowserSync, и Sublime Text. Однако, запускается лишь что-то одно так как после команд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru