Телеграмм бот не видит отправленный пользователем контакт
Я пишу телеграмм бота на C#. У пользователя есть на экране кнопка, при нажатии на которую он может отправить свой контакт, и почему-то бот его не видит, даже в метод update не заходит, хотя обычные текстовые сообщения и CallbackQuery улавливает спокойно.
Кнопку "поделиться контактом" реализовал я это следующим образом:
public static List<List<KeyboardButton>> StartButtons = new()
{
new () { WithRequestContact("Поделиться контактом") },
new KeyboardButton[] { Test1, Test2 },
};
Класс Program
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();
}
}
Обработчик обновлений:
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));
}
}
Судя по всему контакт даже не приходит на сервер, и после перезагрузки страницы он удаляется.
