mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-02-16 19:41:07 +03:00
Implement client.inline_query()
This commit is contained in:
parent
49a6cb4ef8
commit
7a2d7d98ad
|
@ -54,6 +54,14 @@ telethon\.tl\.custom\.button module
|
||||||
:undoc-members:
|
:undoc-members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.custom\.inlineresult module
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.custom.inlineresult
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
telethon\.tl\.custom\.chatgetter module
|
telethon\.tl\.custom\.chatgetter module
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -20,4 +20,5 @@ from .chats import ChatMethods
|
||||||
from .dialogs import DialogMethods
|
from .dialogs import DialogMethods
|
||||||
from .downloads import DownloadMethods
|
from .downloads import DownloadMethods
|
||||||
from .auth import AuthMethods
|
from .auth import AuthMethods
|
||||||
|
from .bots import BotMethods
|
||||||
from .telegramclient import TelegramClient
|
from .telegramclient import TelegramClient
|
||||||
|
|
45
telethon/client/bots.py
Normal file
45
telethon/client/bots.py
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
from .users import UserMethods
|
||||||
|
from ..tl import types, functions, custom
|
||||||
|
|
||||||
|
|
||||||
|
class BotMethods(UserMethods):
|
||||||
|
async def inline_query(self, bot, query, *, offset=None, geo_point=None):
|
||||||
|
"""
|
||||||
|
Makes the given inline query to the specified bot
|
||||||
|
i.e. ``@vote My New Poll`` would be as follows:
|
||||||
|
|
||||||
|
>>> client = ...
|
||||||
|
>>> client.inline_query('vote', 'My New Poll')
|
||||||
|
|
||||||
|
Args:
|
||||||
|
bot (`entity`):
|
||||||
|
The bot entity to which the inline query should be made.
|
||||||
|
|
||||||
|
query (`str`):
|
||||||
|
The query that should be made to the bot.
|
||||||
|
|
||||||
|
offset (`str`, optional):
|
||||||
|
The string offset to use for the bot.
|
||||||
|
|
||||||
|
geo_point (:tl:`GeoPoint`, optional)
|
||||||
|
The geo point location information to send to the bot
|
||||||
|
for localised results. Available under some bots.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A list of `custom.InlineResult
|
||||||
|
<telethon.tl.custom.inlineresult.InlineResult>`.
|
||||||
|
"""
|
||||||
|
bot = await self.get_input_entity(bot)
|
||||||
|
result = await self(functions.messages.GetInlineBotResultsRequest(
|
||||||
|
bot=bot,
|
||||||
|
peer=types.InputPeerEmpty(),
|
||||||
|
query=query,
|
||||||
|
offset=offset or '',
|
||||||
|
geo_point=geo_point
|
||||||
|
))
|
||||||
|
|
||||||
|
# TODO Custom InlineResults(UserList) class with more information
|
||||||
|
return [
|
||||||
|
custom.InlineResult(self, x, query_id=result.query_id)
|
||||||
|
for x in result.results
|
||||||
|
]
|
|
@ -1,12 +1,12 @@
|
||||||
from . import (
|
from . import (
|
||||||
AuthMethods, DownloadMethods, DialogMethods, ChatMethods,
|
AuthMethods, DownloadMethods, DialogMethods, ChatMethods, BotMethods,
|
||||||
MessageMethods, ButtonMethods, UpdateMethods, UploadMethods,
|
MessageMethods, ButtonMethods, UpdateMethods, UploadMethods,
|
||||||
MessageParseMethods, UserMethods
|
MessageParseMethods, UserMethods
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TelegramClient(
|
class TelegramClient(
|
||||||
AuthMethods, DownloadMethods, DialogMethods, ChatMethods,
|
AuthMethods, DownloadMethods, DialogMethods, ChatMethods, BotMethods,
|
||||||
MessageMethods, UploadMethods, ButtonMethods, UpdateMethods,
|
MessageMethods, UploadMethods, ButtonMethods, UpdateMethods,
|
||||||
MessageParseMethods, UserMethods
|
MessageParseMethods, UserMethods
|
||||||
):
|
):
|
||||||
|
|
|
@ -17,7 +17,9 @@ import inspect
|
||||||
from async_generator import isasyncgenfunction
|
from async_generator import isasyncgenfunction
|
||||||
|
|
||||||
from .client.telegramclient import TelegramClient
|
from .client.telegramclient import TelegramClient
|
||||||
from .tl.custom import Draft, Dialog, MessageButton, Forward, Message
|
from .tl.custom import (
|
||||||
|
Draft, Dialog, MessageButton, Forward, Message, InlineResult
|
||||||
|
)
|
||||||
from .tl.custom.chatgetter import ChatGetter
|
from .tl.custom.chatgetter import ChatGetter
|
||||||
from .tl.custom.sendergetter import SenderGetter
|
from .tl.custom.sendergetter import SenderGetter
|
||||||
|
|
||||||
|
@ -81,4 +83,4 @@ def syncify(*types):
|
||||||
|
|
||||||
|
|
||||||
syncify(TelegramClient, Draft, Dialog, MessageButton,
|
syncify(TelegramClient, Draft, Dialog, MessageButton,
|
||||||
ChatGetter, SenderGetter, Forward, Message)
|
ChatGetter, SenderGetter, Forward, Message, InlineResult)
|
||||||
|
|
|
@ -6,3 +6,4 @@ from .forward import Forward
|
||||||
from .message import Message
|
from .message import Message
|
||||||
from .button import Button
|
from .button import Button
|
||||||
from .inline import InlineBuilder
|
from .inline import InlineBuilder
|
||||||
|
from .inlineresult import InlineResult
|
||||||
|
|
Loading…
Reference in New Issue
Block a user