Telegram Bot не может получить обновление preCheckoutQuery - PullRequest
1 голос
/ 04 апреля 2020

После отправки sendInvoice пользователю (пользователь правильно получил эту форму оплаты) мой бот не получает preCheckoutQuery для подтверждения оплаты. Я пытаюсь получать обновления (в частности, preCheckoutQuery) от Telegram Bot через webhook, но здесь:

dev.botframework.com -> Мои боты -> Телеграмма -> Столбец здоровья -> Проблема - > «Произошла ошибка при отправке этого сообщения вашему боту: код состояния HTTP BadRequest» .

Кроме того, когда я пытался установить webhook на dev.botframework.com для своего собственного бота и проверяя getWebhookInfo я получаю спецификацию c url следующим образом:

{"ok":true,"result":{"url":"https://telegram.botframework.com/api/telegram/XXX/XXX","has_custom_certificate":false,"pending_update_count":0,"max_connections":40}}

С этим webhook мой бот правильно обменивается сообщениями с пользователем

Некоторая информация о том, как правильно получать preCheckoutQuery?

Дополнительная информация:

/ getWebhookInfo возвращает меня иногда pending_update_count ": 1

Библиотека: Telegram.Bot (https://github.com/TelegramBots/telegram.bot)

Поддержка моего бота TLS 1.2:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Мой контроллер ничего не получает

[Route("api/[controller]")]
public class UpdateController : Controller
{
    private readonly IBotFrameworkHttpAdapter Adapter;
    private readonly IBot Bot;

    public UpdateController(IBotFrameworkHttpAdapter adapter, IBot bot)
    {
        Adapter = adapter;
        Bot = bot;
    }
    [HttpPost]
    public async Task<IActionResult> Post([FromBody]Update _update)
    { 
        ...
        await Consts.BotClient.SendTextMessageAsync(chatId, string.Format("Update received\nP: {0} M: {1} H: {2}", a.Path, a.Method, a.Host.Value));
        ...
    }
}
...