Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.09.2022
Сообщений: 2

Телеграмм бот не видит отправленный пользователем контакт

12.09.2022, 11:13. Показов 1403. Ответов 2

Студворк — интернет-сервис помощи студентам
Я пишу телеграмм бота на C#. У пользователя есть на экране кнопка, при нажатии на которую он может отправить свой контакт, и почему-то бот его не видит, даже в метод update не заходит, хотя обычные текстовые сообщения и CallbackQuery улавливает спокойно. Судя по всему контакт даже не приходит на сервер, т.к. после перезагрузки страницы он удаляется.

Кнопку "поделиться контактом" реализовал я это следующим образом:

C#
1
2
3
4
5
     public static List<List<KeyboardButton>> StartButtons = new()
           {
               new () { WithRequestContact("Поделиться контактом") },
               new KeyboardButton[] { Test1, Test2 },
           };
Класс Program

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static class Program
    {
        private static void Main()
        {
            Register();
            InitBranches();
    
            WriteLine("Запущен бот " + BotClient.GetMeAsync().Result.FirstName);
            var cts = new CancellationTokenSource();
            BotClient.StartReceiving(
                new UpdateHandler(),
                new ReceiverOptions(),
                cts.Token
            );
                
            ReadLine();
        }
    }
Обработчик обновлений:

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
 public class UpdateHandler: IUpdateHandler
    {
        public async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)
        {
            WriteLine(JsonConvert.SerializeObject(update));
            
            switch (update.Type)
            {
                case UpdateType.Message:
                {
                    var message = update.Message;
    
                    foreach (var command in MessageHandlers.Where(command => command.Contains(message!)))
                    {
                        await command.Execute(message!, botClient);
                        break;
                    }
                    break;
                }
                case UpdateType.CallbackQuery:
                {
                    var callback = update.CallbackQuery;
                    foreach (var command in CallbackHandlers.Where(command => command.Contains(callback!)))
                    {
                        await command.Execute(callback!, botClient);
                        break;
                    }
                    break;
                }
            }
        }
    
        public async Task HandlePollingErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken)
        {
            WriteLine(JsonConvert.SerializeObject(exception));
        }
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2022, 11:13
Ответы с готовыми решениями:

Бот Телеграмм
Доброго времени суток. Я написал бота говорилку для чата с друзьями в телеграмме. Бот берет фразы которыми отвечать из текстового файла....

Бот телеграмм
Проблема, хочу сдать так что-бы выводилось 2 клавиатуры по 3 строчки, но когда добавляю строчку №3 она не работает. Помогите import...

Телеграмм Бот
начал учить Питона. Подключил модуль pyTelegramBotAPI. Написал просеньки код. (По методичке учу) Файл Bot import telebot token...

2
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,560
12.09.2022, 22:12
Цитата Сообщение от DrJet Посмотреть сообщение
может отправить свой контакт, и почему-то бот его не видит
Так, может, не там смотрите? Контакт приходит не в message.Text, а в message.Contact.
0
0 / 0 / 0
Регистрация: 12.09.2022
Сообщений: 2
14.09.2022, 09:45  [ТС]
Так дело в том что при отправке контакта метод HandleUpdateAsync даже не вызывается.

Добавлено через 4 минуты
Вообще мне кажется что WithRequestContact("Поделиться контактом") отправляет контакт в неправильном формате, так как если я отправляю контакт вручную через вложения, то он ботом отлавливается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2022, 09:45
Помогаю со студенческими работами здесь

Телеграмм бот
Доброго времени суток, такой вопрос... Можно ли реализовать такую функцию бота ( пользователю приходит сообщение на каком -то другом сайте...

Телеграмм бот
ДОбрый день, использую модуль NPM node-telegram-bot-api задача написать бота который будет читать файл и каждые 2 часа слать его...

Бот в телеграмм
Всем хай, у меня есть вопросы по поводу создания бота в телеграмм, который будет отправлять определенные сообщения в группу в определенное...

Телеграмм Бот
Ребята, я недавно стал юзать телеграмм Бота, есть некоторые вопросы, первое, я использую клавиатуру при диалоге с Ботом и Бот у меня...

Телеграмм бот
Привет Всем. Объясните пожалуйста одну вещь) Не совсем понимаю как реализовать бота. Допустим я написал программу которая парсит...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью 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
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru