Skip to content

Commit 93e19dc

Browse files
committed
Adding CallbackQuery python-telegram-bot#232
1 parent c2f5309 commit 93e19dc

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

telegram/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
from .emoji import Emoji
4444
from .parsemode import ParseMode
4545
from .message import Message
46+
from .callbackquery import CallbackQuery
4647
from .choseninlineresult import ChosenInlineResult
4748
from .inlinekeyboardbutton import InlineKeyboardButton
4849
from .inlinekeyboardmarkup import InlineKeyboardMarkup
@@ -116,6 +117,7 @@ def JobQueue(*args, **kwargs):
116117
'Chat',
117118
'ChatAction',
118119
'ChosenInlineResult',
120+
'CallbackQuery',
119121
'Contact',
120122
'Document',
121123
'Emoji',

telegram/callbackquery.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,34 @@
1616
#
1717
# You should have received a copy of the GNU Lesser Public License
1818
# along with this program. If not, see [http://www.gnu.org/licenses/].
19+
20+
"""This module contains a object that represents a Telegram
21+
CallbackQuery"""
22+
23+
from telegram import TelegramObject, Message, User
24+
25+
26+
class CallbackQuery(TelegramObject):
27+
"""This object represents a Telegram CallbackQuery."""
28+
29+
def __init__(self,
30+
id,
31+
from_user,
32+
data):
33+
# Required
34+
self.id = id
35+
self.from_user = from_user
36+
self.data = data
37+
# Optionals
38+
self.message = kwargs.get('message')
39+
self.inline_message_id = kwargs.get('inline_message_id', '')
40+
41+
@staticmethod
42+
def de_json(data):
43+
if not data:
44+
return None
45+
46+
data['from_user'] = User.de_json(data.get('from'))
47+
data['message'] = Message.de_json(data.get('message'))
48+
49+
return CallbackQuery(**data)

0 commit comments

Comments
 (0)