Add example on how to interact with reply markups

Lonami 2017-06-27 10:29:08 +02:00
parent ad521b3163
commit a214a4c631

@ -1,4 +1,4 @@
You can query an inline bot, such as [@vote](https://t.me/vote), by making use of the [`GetInlineBotResultsRequest`](https://lonamiwebs.github.io/Telethon/methods/messages/get_inline_bot_results.html) request:
You can query an inline bot, such as [@VoteBot](https://t.me/vote) (note, *query*, not *interact* with a voting message), by making use of the [`GetInlineBotResultsRequest`](https://lonamiwebs.github.io/Telethon/methods/messages/get_inline_bot_results.html) request:
```python
from telethon.tl.functions.messages import GetInlineBotResultsRequest
@ -8,7 +8,7 @@ bot_results = client.invoke(GetInlineBotResultsRequest(
))
```
And you can reply to their results by using [`SendInlineBotResultRequest`](https://lonamiwebs.github.io/Telethon/methods/messages/send_inline_bot_result.html):
And you can select any of their results by using [`SendInlineBotResultRequest`](https://lonamiwebs.github.io/Telethon/methods/messages/send_inline_bot_result.html):
```python
from telethon.tl.functions.messages import SendInlineBotResultRequest
@ -18,4 +18,20 @@ client.invoke(SendInlineBotResultRequest(
obtained_query_id,
obtained_str_id
))
```
```
---
To interact with a message that has a special reply markup, such as [@VoteBot](https://t.me/vote)'s polls, you would use [`GetBotCallbackAnswerRequest`](https://lonamiwebs.github.io/Telethon/methods/messages/get_bot_callback_answer.html):
```python
from telethon.tl.functions.messages import GetBotCallbackAnswerRequest
client.invoke(GetBotCallbackAnswerRequest(
user_or_chat,
msg.id,
data=msg.reply_markup.rows[wanted_row].buttons[wanted_button].data
))
```
It's a bit verbose, but it has all the information you would need to show it visually (button rows, and buttons within each row, each with its own data).