telegram

Platypush documentation

telegram#

class platypush.message.event.telegram.CommandMessageEvent(*args, command: str, cmdargs: List[str] | None = None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new message is received by the Telegram bot.

__init__(*args, command: str, cmdargs: List[str] | None = None, **kwargs)[source]#
Parameters:
  • command – Command name.

  • cmdargs – Command arguments.

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.ContactMessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new contact message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 48,
      "audio_file_id": "string",
      "audio_file_size": 29,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 20,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 13,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 79,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 7,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 16,
      "from_username": "string",
      "link": "string",
      "location_latitude": 12,
      "location_longitude": 90,
      "media_group_id": "string",
      "message_id": 87,
      "photo_file_id": "string",
      "photo_file_size": 15,
      "photo_height": 86,
      "photo_width": 38,
      "text": "string",
      "video_duration": 12,
      "video_file_id": "string",
      "video_file_size": 21,
      "video_height": 2,
      "video_mime_type": "string",
      "video_width": 17
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 33,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.DocumentMessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new document message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 74,
      "audio_file_id": "string",
      "audio_file_size": 55,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 46,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 48,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 77,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 94,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 73,
      "from_username": "string",
      "link": "string",
      "location_latitude": 18,
      "location_longitude": 50,
      "media_group_id": "string",
      "message_id": 56,
      "photo_file_id": "string",
      "photo_file_size": 17,
      "photo_height": 41,
      "photo_width": 98,
      "text": "string",
      "video_duration": 58,
      "video_file_id": "string",
      "video_file_size": 16,
      "video_height": 94,
      "video_mime_type": "string",
      "video_width": 75
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 7,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.GroupChatCreatedEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new group chat is created.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 27,
      "audio_file_id": "string",
      "audio_file_size": 87,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 22,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 22,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 32,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 39,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 68,
      "from_username": "string",
      "link": "string",
      "location_latitude": 44,
      "location_longitude": 99,
      "media_group_id": "string",
      "message_id": 41,
      "photo_file_id": "string",
      "photo_file_size": 64,
      "photo_height": 63,
      "photo_width": 13,
      "text": "string",
      "video_duration": 50,
      "video_file_id": "string",
      "video_file_size": 29,
      "video_height": 18,
      "video_mime_type": "string",
      "video_width": 57
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 77,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.LocationMessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new location message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 83,
      "audio_file_id": "string",
      "audio_file_size": 27,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 47,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 54,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 93,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 60,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 51,
      "from_username": "string",
      "link": "string",
      "location_latitude": 48,
      "location_longitude": 92,
      "media_group_id": "string",
      "message_id": 20,
      "photo_file_id": "string",
      "photo_file_size": 76,
      "photo_height": 29,
      "photo_width": 26,
      "text": "string",
      "video_duration": 69,
      "video_file_id": "string",
      "video_file_size": 99,
      "video_height": 58,
      "video_mime_type": "string",
      "video_width": 56
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 81,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.MessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: TelegramEvent

Event triggered when a new message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)[source]#
Parameters:
  • message

    {
      "audio_duration": 6,
      "audio_file_id": "string",
      "audio_file_size": 54,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 94,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 91,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 73,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 26,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 42,
      "from_username": "string",
      "link": "string",
      "location_latitude": 98,
      "location_longitude": 19,
      "media_group_id": "string",
      "message_id": 17,
      "photo_file_id": "string",
      "photo_file_size": 17,
      "photo_height": 31,
      "photo_width": 69,
      "text": "string",
      "video_duration": 82,
      "video_file_id": "string",
      "video_file_size": 19,
      "video_height": 83,
      "video_mime_type": "string",
      "video_width": 85
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 85,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.PhotoMessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new photo message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 91,
      "audio_file_id": "string",
      "audio_file_size": 77,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 15,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 40,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 58,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 34,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 58,
      "from_username": "string",
      "link": "string",
      "location_latitude": 22,
      "location_longitude": 90,
      "media_group_id": "string",
      "message_id": 87,
      "photo_file_id": "string",
      "photo_file_size": 97,
      "photo_height": 55,
      "photo_width": 65,
      "text": "string",
      "video_duration": 12,
      "video_file_id": "string",
      "video_file_size": 53,
      "video_height": 68,
      "video_mime_type": "string",
      "video_width": 67
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 57,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.TelegramEvent(*args, chat_id: int, **kwargs)[source]#

Bases: Event

Base class for all the Telegram events.

__init__(*args, chat_id: int, **kwargs)[source]#
Parameters:
  • target (str) – Target node

  • origin (str) – Origin node (default: current node)

  • id (str) – Event ID (default: auto-generated)

  • timestamp (float) – Event timestamp (default: current time)

  • logging_level – Logging level for this event (default: logging.INFO)

  • disable_web_clients_notification – Don’t send a notification of this event to the websocket clients

  • kwargs – Additional arguments for the event

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.TextMessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new text message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 89,
      "audio_file_id": "string",
      "audio_file_size": 81,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 84,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 78,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 11,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 78,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 44,
      "from_username": "string",
      "link": "string",
      "location_latitude": 71,
      "location_longitude": 79,
      "media_group_id": "string",
      "message_id": 53,
      "photo_file_id": "string",
      "photo_file_size": 99,
      "photo_height": 57,
      "photo_width": 31,
      "text": "string",
      "video_duration": 21,
      "video_file_id": "string",
      "video_file_size": 44,
      "video_height": 58,
      "video_mime_type": "string",
      "video_width": 76
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 12,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object

class platypush.message.event.telegram.VideoMessageEvent(*args, message: dict | None, user: dict | None, **kwargs)[source]#

Bases: MessageEvent

Event triggered when a new video message is received by the Telegram bot.

__init__(*args, message: dict | None, user: dict | None, **kwargs)#
Parameters:
  • message

    {
      "audio_duration": 56,
      "audio_file_id": "string",
      "audio_file_size": 11,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 25,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 42,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 84,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 95,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 30,
      "from_username": "string",
      "link": "string",
      "location_latitude": 13,
      "location_longitude": 27,
      "media_group_id": "string",
      "message_id": 69,
      "photo_file_id": "string",
      "photo_file_size": 38,
      "photo_height": 60,
      "photo_width": 43,
      "text": "string",
      "video_duration": 52,
      "video_file_id": "string",
      "video_file_size": 99,
      "video_height": 16,
      "video_mime_type": "string",
      "video_width": 22
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 87,
      "username": "string"
    }
    

as_dict()#

Converts the event into a dictionary

classmethod build(msg)#

Builds an event message from a JSON UTF-8 string/bytearray, a dictionary, or another Event

matches_condition(condition)#

If the event matches an event condition, it will return an EventMatchResult :param condition: The platypush.event.hook.EventCondition object

classmethod parse(msg)#

Parse a generic message into a key-value dictionary

Parameters:

msg – Original message. It can be a dictionary, a Message, or a string/bytearray, as long as it’s valid UTF-8 JSON

classmethod to_dict(msg)#

Converts a Message object into a dictionary

Parameters:

msg – Message object