С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446

Как реализовать input или его аналог в Telegramm bot-e?

24.09.2021, 15:01. Показов 4374. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Можно ли как-то реализовать что-то вроде input в Telegramm bot-e созданном с применением Webhook?
Мне нужно задать 2 вопроса пользователю:
1) запросить у пользователя имя;
2) если он ответит на 1-ый вопрос о имени, то запросить у него номер телефона.

Пока я нашел только как просто отвечать на сообщения пользователя:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[HttpPost]
    public async Task<IActionResult> Post([FromBody] Update update)
    {
 
        var message = update.Message;
        string responseMessage = "";
        if (message != null)
        {
            
            await telegramBotClient.SendTextMessageAsync(message.From.Id, responseMessage, replyToMessageId: message.MessageId);
        }
 
        return Ok();
    }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.09.2021, 15:01
Ответы с готовыми решениями:

C# WinForm telegramm bot
здравствуйте имеется следующий вопрос VS2017 использую пакеты из nuget Telegram.Bot, HttpToSocks5Proxy, если я пишу в коде через...

Аналог процедуры str в Си++ или как реализовать?
Доброго времени суток. Есть строка кода на Паскале: Str(X:Lens,Stroka); Нужно записать аналогичную строку, только в...

Как реализовать аналог Sikuli или AutoIT на C#?
Новичок в C#, но очень хочется написать бота для браузерной игры на C#. Он должен эмулировать действия пользователя, т.е. видеть экран и...

2
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
24.09.2021, 16:03
Лучший ответ Сообщение было отмечено Volodya_ как решение

Решение

Volodya_,
.... это обычно делается с помощью ForceReply...здесь в разделе были темы с примерами .....
1
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
27.09.2021, 12:00  [ТС]
Цитата Сообщение от carrotik Посмотреть сообщение
.... это обычно делается с помощью ForceReply...здесь в разделе были темы с примерами .....
Вроде сделал, но работает не совсем так как ожидалось. По плану сперва запрашивается номер телефона, потом номер телефона проверяется на верность формату, если не верно, то должен отправляться 2-ой запрос с уточнением номера, но он не отправляется, всегда шлется 1-ый:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[HttpPost]
        public async Task<IActionResult> Post([FromBody] Update update)//[FromServices] HandleUpdateService handleUpdateService
        {
            var message = update.Message;
            string responseMessage = "";
            if (message != null)
            {
                responseMessage = "Укажите номер в федеральном формете (+7хххххххххх)";
                // Ответ в чат-бот 
                //await telegramBotClient.SendTextMessageAsync(message.Chat.Id, responseData.TextMessage, replyToMessageId: message.MessageId);
 
                if (message.ReplyToMessage != null)
                {
                    string messageNumberPhone;
                    switch (message.ReplyToMessage.Text)
                    {
                        case "Укажите номер в федеральном формете(+7хххххххххх)":
                            messageNumberPhone = ServicePhoneNumber.LeaveOnlyNumbers(message.Text);
 
                            if (messageNumberPhone.Length < 11 || messageNumberPhone.Length > 12)
                            {
                                await telegramBotClient.SendTextMessageAsync(message.From.Id, "Номер указан в неверном формате. Ждем Ваш номер в федеральном формате (+7хххххххххх)", ParseMode.Default, replyMarkup: new ForceReplyMarkup { Selective = true });
                            }
                            else
                            {
                                string responseMessageFromDB = "Спасибо!";
                                await telegramBotClient.SendTextMessageAsync(message.Chat.Id, responseMessageFromDB);
                            }
                            break;
 
                        case "Номер указан в неверном формате. Ждем Ваш номер в федеральном формате (+7хххххххххх)":
                            messageNumberPhone = ServicePhoneNumber.LeaveOnlyNumbers(message.Text);
 
                            if (messageNumberPhone.Length < 11 || messageNumberPhone.Length > 12)
                            {
                                await telegramBotClient.SendTextMessageAsync(message.From.Id, "Номер указан в неверном формате. Ждем Ваш номер в федеральном формате (+7хххххххххх)", ParseMode.Default, replyMarkup: new ForceReplyMarkup { Selective = true });
                            }
                            else
                            {
                                string responseMessageFromDB = "Спасибо!";
                                await telegramBotClient.SendTextMessageAsync(message.Chat.Id, responseMessageFromDB);
                            }
                            break;
                    }
                }
                else
                {
                    await telegramBotClient.SendTextMessageAsync(message.From.Id, responseMessage, ParseMode.Default, replyMarkup: new ForceReplyMarkup { Selective = true });
                }
 
            }
 
            return Ok();
        }
Добавлено через 37 минут
Нашел ошибку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2021, 12:00
Помогаю со студенческими работами здесь

Подскажите аналог goto в bash или как реализовать такой переход
Вот простой пример на CMD в windows If Что то goto 1 else goto 2 :1 Условия 1 :2 Условия 2 pause

Подскажите как найти транзистор или его аналог?
Сразу говорю новичок, так что сильно не пинайте) Пробиты 2 транзистора. Выпаял их. На них написано М3056М 638 66Е Какие транзисторы можно...

Как реализовать на месте input button просто input?
Приветствую всех. Есть кнопка. Помогите реализовать логику. По нажатию на кнопку , появляется текст , а под ним input. Спасибо...

При нажатии на текст обернуть его в элемент формы (input или textarea). Наподобие как во ВК.
Подскажите как можно такое организовать? в общем на странице выводится не кий контент. Как сделать, чтобы при нажатии на него он...

Как сделать upload файлов без использования <INPUT TYPE=FILE>(или его программное заполнение)?
На клиенте есть VB программа с броузером, которая сама по таймеру должна пересылать файлы на WEB(не по FTP и не по Mail). Список файлов...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru