Как обновить сообщение, чтобы показать место в Telegram? - PullRequest
0 голосов
/ 04 января 2019

У меня есть бот с телеграммой.Я хочу обновить сообщение, чтобы текст был заменен объектом объекта.Когда я вызываю sendVenue с идентификатором сообщения в 'reply_to_message_id', telegram создает новое сообщение с местом проведения вместо обновления существующего.

Что я делаю не так?

Вотзапросы:

sendMessage:
ЗАПРОС:

https://api.telegram.org/bot{{telegram-token}}/sendMessage
{
    "chat_id" : ..., 
    "text" : "my text",
}

ОТВЕТ:

{
    "ok": true,
    "result": {
        "message_id": 247,
        "from": {
            "id": 123456,
            "is_bot": true,
            "first_name": "...",
            "username": "..."
        },
        "chat": {
            "id": ...,
            "title": "...",
            "type": "supergroup"
        },
        "date": 1546552248,
        "text": "my text"
    }
}

Обновить сообщение в месте:
ЗАПРОС:

https://api.telegram.org/bot{{telegram-token}}/sendVenue
{
    "chat_id" : "...", 
    "longitude" : -74.8354,
    "latitude": 40.13817,
    "title" : "my title",
    "address" : "my address",
    "disable_notification" : true,
    "reply_to_message_id" : 247
}

1 Ответ

0 голосов
/ 08 января 2019

Telegram Bot API не позволяет ботам обновлять сообщения от одного типа к другому.Вы можете изменить содержание текстового сообщения на другой текст.Но вы не можете изменить текстовое сообщение на место.

Единственное, что вы можете сделать, это удалить старое сообщение и отправить новое содержащее место.

Таким образом, вы можете сделать так:

> Send text message
> Delete it
> Send venue

Но отправка и удаление текстового сообщения не имеет смысла.

...