New method answerCallbackQuery #232

This commit is contained in:
Leandro Toledo 2016-04-13 21:25:26 -03:00
parent 93e19dc2ae
commit 2af15cadd6
2 changed files with 44 additions and 1 deletions

View file

@ -810,6 +810,42 @@ class Bot(TelegramObject):
return result
@log
def answerCallbackQuery(self,
callback_query_id,
text=None,
show_alert=None):
"""Use this method to send answers to callback queries sent from inline
keyboards. The answer will be displayed to the user as a notification
at the top of the chat screen or as an alert.
Args:
callback_query_id:
Unique identifier for the query to be answered.
text:
Text of the notification. If not specified, nothing will be shown
to the user.
show_alert:
If true, an alert will be shown by the client instead of a
notification at the top of the chat screen. Defaults to false.
Returns:
True on success.
"""
url = '%s/answerCallbackQuery' % self.base_url
data = {'callback_query_id': callback_query_id}
if text:
data['text'] = text
if show_alert:
data['show_alert'] = show_alert
result = request.post(url, data)
return result
@log
def getUpdates(self,
offset=None,

View file

@ -19,7 +19,8 @@
"""This module contains a object that represents a Telegram Update."""
from telegram import Message, TelegramObject, InlineQuery, ChosenInlineResult
from telegram import (Message, TelegramObject, InlineQuery,
ChosenInlineResult, CallbackQuery)
class Update(TelegramObject):
@ -30,6 +31,7 @@ class Update(TelegramObject):
message (:class:`telegram.Message`):
inline_query (:class:`telegram.InlineQuery`):
chosen_inline_result (:class:`telegram.ChosenInlineResult`):
callback_query (:class:`telegram.CallbackQuery`):
Args:
update_id (int):
@ -39,7 +41,9 @@ class Update(TelegramObject):
message (Optional[:class:`telegram.Message`]):
inline_query (Optional[:class:`telegram.InlineQuery`]):
chosen_inline_result (Optional[:class:`telegram.ChosenInlineResult`])
callback_query (Optional[:class:`telegram.CallbackQuery`]):
"""
def __init__(self,
update_id,
**kwargs):
@ -49,6 +53,7 @@ class Update(TelegramObject):
self.message = kwargs.get('message')
self.inline_query = kwargs.get('inline_query')
self.chosen_inline_result = kwargs.get('chosen_inline_result')
self.callback_query = kwargs.get('callback_query')
@staticmethod
def de_json(data):
@ -66,5 +71,7 @@ class Update(TelegramObject):
data['inline_query'] = InlineQuery.de_json(data.get('inline_query'))
data['chosen_inline_result'] = \
ChosenInlineResult.de_json(data.get('chosen_inline_result'))
data['callback_query'] = \
CallbackQuery.de_json(data.get('callback_query'))
return Update(**data)