mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2025-03-30 11:19:24 +02:00
Merge branch 'bot-api-2.0' into dispatcher-rework
This commit is contained in:
commit
b5cbf17ef5
7 changed files with 136 additions and 4 deletions
|
@ -44,6 +44,7 @@ from .nullhandler import NullHandler
|
||||||
from .emoji import Emoji
|
from .emoji import Emoji
|
||||||
from .parsemode import ParseMode
|
from .parsemode import ParseMode
|
||||||
from .message import Message
|
from .message import Message
|
||||||
|
from .messageentity import MessageEntity
|
||||||
from .callbackquery import CallbackQuery
|
from .callbackquery import CallbackQuery
|
||||||
from .choseninlineresult import ChosenInlineResult
|
from .choseninlineresult import ChosenInlineResult
|
||||||
from .inlinekeyboardbutton import InlineKeyboardButton
|
from .inlinekeyboardbutton import InlineKeyboardButton
|
||||||
|
@ -74,6 +75,7 @@ from .inputtextmessagecontent import InputTextMessageContent
|
||||||
from .inputlocationmessagecontent import InputLocationMessageContent
|
from .inputlocationmessagecontent import InputLocationMessageContent
|
||||||
from .inputvenuemessagecontent import InputVenueMessageContent
|
from .inputvenuemessagecontent import InputVenueMessageContent
|
||||||
from .inputcontactmessagecontent import InputContactMessageContent
|
from .inputcontactmessagecontent import InputContactMessageContent
|
||||||
|
from .venue import Venue
|
||||||
from .update import Update
|
from .update import Update
|
||||||
from .bot import Bot
|
from .bot import Bot
|
||||||
|
|
||||||
|
@ -157,6 +159,7 @@ __all__ = ['Audio',
|
||||||
'KeyboardButton',
|
'KeyboardButton',
|
||||||
'Location',
|
'Location',
|
||||||
'Message',
|
'Message',
|
||||||
|
'MessageEntity',
|
||||||
'NullHandler',
|
'NullHandler',
|
||||||
'ParseMode',
|
'ParseMode',
|
||||||
'PhotoSize',
|
'PhotoSize',
|
||||||
|
@ -169,5 +172,6 @@ __all__ = ['Audio',
|
||||||
'Update',
|
'Update',
|
||||||
'User',
|
'User',
|
||||||
'UserProfilePhotos',
|
'UserProfilePhotos',
|
||||||
|
'Venue',
|
||||||
'Video',
|
'Video',
|
||||||
'Voice']
|
'Voice']
|
||||||
|
|
|
@ -43,7 +43,12 @@ class TelegramObject(object):
|
||||||
Returns:
|
Returns:
|
||||||
telegram.TelegramObject:
|
telegram.TelegramObject:
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
if not data:
|
||||||
|
return None
|
||||||
|
|
||||||
|
data = data.copy()
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
def to_json(self):
|
def to_json(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -24,4 +24,18 @@ from telegram import InputMessageContent
|
||||||
|
|
||||||
|
|
||||||
class InputLocationMessageContent(InputMessageContent):
|
class InputLocationMessageContent(InputMessageContent):
|
||||||
pass
|
"""Base class for Telegram InputLocationMessageContent Objects"""
|
||||||
|
|
||||||
|
def __init__(self,
|
||||||
|
latitude,
|
||||||
|
longitude):
|
||||||
|
# Required
|
||||||
|
self.latitude = latitude
|
||||||
|
self.longitude = longitude
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def de_json(data):
|
||||||
|
data = super(InputLocationMessageContent,
|
||||||
|
InputLocationMessageContent).de_json(data)
|
||||||
|
|
||||||
|
return InputLocationMessageContent(**data)
|
||||||
|
|
|
@ -24,4 +24,21 @@ from telegram import InputMessageContent
|
||||||
|
|
||||||
|
|
||||||
class InputTextMessageContent(InputMessageContent):
|
class InputTextMessageContent(InputMessageContent):
|
||||||
pass
|
"""Base class for Telegram InputTextMessageContent Objects"""
|
||||||
|
|
||||||
|
def __init__(self,
|
||||||
|
message_text,
|
||||||
|
parse_mode=None,
|
||||||
|
disable_web_page_preview=None):
|
||||||
|
# Required
|
||||||
|
self.message_text = message_text
|
||||||
|
# Optionals
|
||||||
|
self.parse_mode = parse_mode
|
||||||
|
self.disable_web_page_preview = disable_web_page_preview
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def de_json(data):
|
||||||
|
data = super(InputTextMessageContent,
|
||||||
|
InputTextMessageContent).de_json(data)
|
||||||
|
|
||||||
|
return InputTextMessageContent(**data)
|
||||||
|
|
|
@ -24,4 +24,25 @@ from telegram import InputMessageContent
|
||||||
|
|
||||||
|
|
||||||
class InputVenueMessageContent(InputMessageContent):
|
class InputVenueMessageContent(InputMessageContent):
|
||||||
pass
|
"""Base class for Telegram InputVenueMessageContent Objects"""
|
||||||
|
|
||||||
|
def __init__(self,
|
||||||
|
latitude,
|
||||||
|
longitude,
|
||||||
|
title,
|
||||||
|
address,
|
||||||
|
foursquare_id=None):
|
||||||
|
# Required
|
||||||
|
self.latitude = latitude
|
||||||
|
self.longitude = longitude
|
||||||
|
self.title = title
|
||||||
|
self.address = address
|
||||||
|
# Optionals
|
||||||
|
self.foursquare_id = foursquare_id
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def de_json(data):
|
||||||
|
data = super(InputVenueMessageContent,
|
||||||
|
InputVenueMessageContent).de_json(data)
|
||||||
|
|
||||||
|
return InputVenueMessageContent(**data)
|
||||||
|
|
|
@ -16,3 +16,38 @@
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Lesser Public License
|
# You should have received a copy of the GNU Lesser Public License
|
||||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||||
|
|
||||||
|
"""This module contains a object that represents a Telegram MessageEntity."""
|
||||||
|
|
||||||
|
from telegram import TelegramObject
|
||||||
|
|
||||||
|
|
||||||
|
class MessageEntity(TelegramObject):
|
||||||
|
"""
|
||||||
|
This object represents one special entity in a text message. For example,
|
||||||
|
hashtags, usernames, URLs, etc.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
type (str):
|
||||||
|
offset (int):
|
||||||
|
length (int):
|
||||||
|
url (Optional[str]):
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self,
|
||||||
|
type,
|
||||||
|
offset,
|
||||||
|
length,
|
||||||
|
url=None):
|
||||||
|
# Required
|
||||||
|
self.type = type
|
||||||
|
self.offset = offset
|
||||||
|
self.length = length
|
||||||
|
# Optionals
|
||||||
|
self.url = url
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def de_json(self):
|
||||||
|
data = super(MessageEntity, MessageEntity).de_json(data)
|
||||||
|
|
||||||
|
return MessageEntity(**data)
|
|
@ -16,3 +16,39 @@
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Lesser Public License
|
# You should have received a copy of the GNU Lesser Public License
|
||||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||||
|
|
||||||
|
"""This module contains a object that represents a Telegram Venue."""
|
||||||
|
|
||||||
|
from telegram import TelegramObject, Location
|
||||||
|
|
||||||
|
|
||||||
|
class Venue(TelegramObject):
|
||||||
|
"""
|
||||||
|
This object represents a venue.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
location (:class:`telegram.Location`):
|
||||||
|
title (str):
|
||||||
|
address (str):
|
||||||
|
foursquare_id (Optional[str]):
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self,
|
||||||
|
location,
|
||||||
|
title,
|
||||||
|
address,
|
||||||
|
foursquare_id=None):
|
||||||
|
# Required
|
||||||
|
self.location = location
|
||||||
|
self.title = title
|
||||||
|
self.address = address
|
||||||
|
# Optionals
|
||||||
|
self.foursquare_id = foursquare_id
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def de_json(self):
|
||||||
|
data = super(Venue, Venue).de_json(data)
|
||||||
|
|
||||||
|
data['location'] = Location.de_json(data.get('location'))
|
||||||
|
|
||||||
|
return Venue(**data)
|
Loading…
Add table
Reference in a new issue