mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-02-03 21:24:35 +03:00
Document InlineBuilder
This commit is contained in:
parent
9ee415749d
commit
74f7ae525f
|
@ -435,6 +435,9 @@ where you want to send it to:
|
||||||
|
|
||||||
Sending messages through inline bots lets you use buttons as a normal user.
|
Sending messages through inline bots lets you use buttons as a normal user.
|
||||||
|
|
||||||
|
It can look a bit strange at first, but you can make inline queries in no
|
||||||
|
chat in particular, and then click a *result* to send it to some chat.
|
||||||
|
|
||||||
Clicking Buttons
|
Clicking Buttons
|
||||||
****************
|
****************
|
||||||
|
|
||||||
|
@ -449,6 +452,28 @@ This will click the first button in the message. You could also
|
||||||
``click(row, column)``, using some text such as ``click(text='👍')``
|
``click(row, column)``, using some text such as ``click(text='👍')``
|
||||||
or even the data directly ``click(data=b'payload')``.
|
or even the data directly ``click(data=b'payload')``.
|
||||||
|
|
||||||
|
Answering Inline Queries
|
||||||
|
************************
|
||||||
|
|
||||||
|
As a bot, you can answer to inline queries with `events.InlineQuery
|
||||||
|
<telethon.events.inlinequery.InlineQuery>`. You should make use of the
|
||||||
|
`builder <telethon.tl.custom.inlinebuilder.InlineBuilder>` property
|
||||||
|
to conveniently build the list of results to show to the user. Remember
|
||||||
|
to check the properties of the `InlineQuery.Event
|
||||||
|
<telethon.events.inlinequery.InlineQuery.Event>`:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
@bot.on(events.InlineQuery)
|
||||||
|
async def handler(event):
|
||||||
|
builder = event.builder
|
||||||
|
|
||||||
|
rev_text = event.text[::-1]
|
||||||
|
await event.answer([
|
||||||
|
builder.article('Reverse text', text=rev_text),
|
||||||
|
builder.photo('/path/to/photo.jpg')
|
||||||
|
])
|
||||||
|
|
||||||
Conversations: Waiting for Messages or Replies
|
Conversations: Waiting for Messages or Replies
|
||||||
**********************************************
|
**********************************************
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,6 @@ telethon\.tl\.custom\.draft module
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
telethon\.tl\.custom\.dialog module
|
telethon\.tl\.custom\.dialog module
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
|
@ -20,7 +18,6 @@ telethon\.tl\.custom\.dialog module
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
||||||
telethon\.tl\.custom\.message module
|
telethon\.tl\.custom\.message module
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
|
@ -29,7 +26,6 @@ telethon\.tl\.custom\.message module
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
||||||
telethon\.tl\.custom\.messagebutton module
|
telethon\.tl\.custom\.messagebutton module
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
|
@ -54,6 +50,14 @@ telethon\.tl\.custom\.button module
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.custom\.inlinebuilder module
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.custom.inlinebuilder
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
telethon\.tl\.custom\.inlineresult module
|
telethon\.tl\.custom\.inlineresult module
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
|
@ -62,6 +66,14 @@ telethon\.tl\.custom\.inlineresult module
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.custom\.inlineresults module
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.custom.inlineresults
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
telethon\.tl\.custom\.chatgetter module
|
telethon\.tl\.custom\.chatgetter module
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,9 @@ class InlineQuery(EventBuilder):
|
||||||
query (:tl:`UpdateBotCallbackQuery`):
|
query (:tl:`UpdateBotCallbackQuery`):
|
||||||
The original :tl:`UpdateBotCallbackQuery`.
|
The original :tl:`UpdateBotCallbackQuery`.
|
||||||
|
|
||||||
|
Make sure to access the `text` of the query if
|
||||||
|
that's what you want instead working with this.
|
||||||
|
|
||||||
pattern_match (`obj`, optional):
|
pattern_match (`obj`, optional):
|
||||||
The resulting object from calling the passed ``pattern``
|
The resulting object from calling the passed ``pattern``
|
||||||
function, which is ``re.compile(...).match`` by default.
|
function, which is ``re.compile(...).match`` by default.
|
||||||
|
@ -117,8 +120,8 @@ class InlineQuery(EventBuilder):
|
||||||
@property
|
@property
|
||||||
def builder(self):
|
def builder(self):
|
||||||
"""
|
"""
|
||||||
Returns a new `inline result builder
|
Returns a new `InlineBuilder
|
||||||
<telethon.tl.custom.inline.InlineBuilder>`.
|
<telethon.tl.custom.inlinebuilder.InlineBuilder>` instance.
|
||||||
"""
|
"""
|
||||||
return custom.InlineBuilder(self._client)
|
return custom.InlineBuilder(self._client)
|
||||||
|
|
||||||
|
@ -134,7 +137,7 @@ class InlineQuery(EventBuilder):
|
||||||
A list of :tl:`InputBotInlineResult` to use.
|
A list of :tl:`InputBotInlineResult` to use.
|
||||||
You should use `builder` to create these:
|
You should use `builder` to create these:
|
||||||
|
|
||||||
.. code-block: python
|
.. code-block:: python
|
||||||
|
|
||||||
builder = inline.builder
|
builder = inline.builder
|
||||||
r1 = builder.article('Be nice', text='Have a nice day')
|
r1 = builder.article('Be nice', text='Have a nice day')
|
||||||
|
|
|
@ -6,7 +6,8 @@ from ... import utils
|
||||||
|
|
||||||
class InlineBuilder:
|
class InlineBuilder:
|
||||||
"""
|
"""
|
||||||
Helper class to allow defining inline queries ``results``.
|
Helper class to allow defining `InlineQuery
|
||||||
|
<telethon.events.inlinequery.InlineQuery>` ``results``.
|
||||||
|
|
||||||
Common arguments to all methods are
|
Common arguments to all methods are
|
||||||
explained here to avoid repetition:
|
explained here to avoid repetition:
|
||||||
|
@ -19,16 +20,13 @@ class InlineBuilder:
|
||||||
Whether to show a link preview in the sent
|
Whether to show a link preview in the sent
|
||||||
text message or not.
|
text message or not.
|
||||||
|
|
||||||
geo (:tl:`InputGeoPoint`, :tl:`GeoPoint`,
|
geo (:tl:`InputGeoPoint`, :tl:`GeoPoint`, :tl:`InputMediaVenue`, :tl:`MessageMediaVenue`, optional):
|
||||||
:tl:`InputMediaVenue`, :tl:`MessageMediaVenue`,
|
|
||||||
optional):
|
|
||||||
If present, it may either be a geo point or a venue.
|
If present, it may either be a geo point or a venue.
|
||||||
|
|
||||||
period (int, optional):
|
period (int, optional):
|
||||||
The period in seconds to be used for geo points.
|
The period in seconds to be used for geo points.
|
||||||
|
|
||||||
contact (:tl:`InputMediaContact`, :tl:`MessageMediaContact`,
|
contact (:tl:`InputMediaContact`, :tl:`MessageMediaContact`, optional):
|
||||||
optional):
|
|
||||||
If present, it must be the contact information to send.
|
If present, it must be the contact information to send.
|
||||||
|
|
||||||
game (`bool`, optional):
|
game (`bool`, optional):
|
||||||
|
@ -155,8 +153,8 @@ class InlineBuilder:
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
file (`obj`):
|
file (`obj`):
|
||||||
Same as ``file`` for `<client.send_file>
|
Same as ``file`` for `client.send_file
|
||||||
telethon.client.uploads.UploadMethods.send_file`.
|
<telethon.client.uploads.UploadMethods.send_file>`.
|
||||||
|
|
||||||
title (`str`, optional):
|
title (`str`, optional):
|
||||||
The title to be shown for this result.
|
The title to be shown for this result.
|
||||||
|
|
|
@ -2,6 +2,7 @@ import time
|
||||||
|
|
||||||
from .inlineresult import InlineResult
|
from .inlineresult import InlineResult
|
||||||
|
|
||||||
|
|
||||||
class InlineResults(list):
|
class InlineResults(list):
|
||||||
"""
|
"""
|
||||||
Custom class that encapsulates :tl:`BotResults` providing
|
Custom class that encapsulates :tl:`BotResults` providing
|
||||||
|
|
Loading…
Reference in New Issue
Block a user