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": 47,
      "audio_file_id": "string",
      "audio_file_size": 59,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 91,
      "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": 18,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 81,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 8,
      "from_username": "string",
      "link": "string",
      "location_latitude": 51,
      "location_longitude": 56,
      "media_group_id": "string",
      "message_id": 2,
      "photo_file_id": "string",
      "photo_file_size": 92,
      "photo_height": 10,
      "photo_width": 84,
      "text": "string",
      "video_duration": 5,
      "video_file_id": "string",
      "video_file_size": 36,
      "video_height": 52,
      "video_mime_type": "string",
      "video_width": 43
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 94,
      "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": 50,
      "audio_file_id": "string",
      "audio_file_size": 89,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 62,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 1,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 8,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 22,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 95,
      "from_username": "string",
      "link": "string",
      "location_latitude": 64,
      "location_longitude": 35,
      "media_group_id": "string",
      "message_id": 78,
      "photo_file_id": "string",
      "photo_file_size": 20,
      "photo_height": 57,
      "photo_width": 81,
      "text": "string",
      "video_duration": 55,
      "video_file_id": "string",
      "video_file_size": 18,
      "video_height": 4,
      "video_mime_type": "string",
      "video_width": 34
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 2,
      "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": 80,
      "audio_file_id": "string",
      "audio_file_size": 90,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 53,
      "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": 31,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 92,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 66,
      "from_username": "string",
      "link": "string",
      "location_latitude": 35,
      "location_longitude": 96,
      "media_group_id": "string",
      "message_id": 34,
      "photo_file_id": "string",
      "photo_file_size": 61,
      "photo_height": 1,
      "photo_width": 10,
      "text": "string",
      "video_duration": 39,
      "video_file_id": "string",
      "video_file_size": 81,
      "video_height": 25,
      "video_mime_type": "string",
      "video_width": 73
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 90,
      "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": 95,
      "audio_file_id": "string",
      "audio_file_size": 9,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 89,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 1,
      "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": 50,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 89,
      "from_username": "string",
      "link": "string",
      "location_latitude": 2,
      "location_longitude": 6,
      "media_group_id": "string",
      "message_id": 51,
      "photo_file_id": "string",
      "photo_file_size": 68,
      "photo_height": 78,
      "photo_width": 55,
      "text": "string",
      "video_duration": 20,
      "video_file_id": "string",
      "video_file_size": 12,
      "video_height": 85,
      "video_mime_type": "string",
      "video_width": 49
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 28,
      "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": 26,
      "audio_file_id": "string",
      "audio_file_size": 35,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 14,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 51,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 38,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 86,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 73,
      "from_username": "string",
      "link": "string",
      "location_latitude": 15,
      "location_longitude": 63,
      "media_group_id": "string",
      "message_id": 61,
      "photo_file_id": "string",
      "photo_file_size": 49,
      "photo_height": 59,
      "photo_width": 62,
      "text": "string",
      "video_duration": 5,
      "video_file_id": "string",
      "video_file_size": 61,
      "video_height": 45,
      "video_mime_type": "string",
      "video_width": 98
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 28,
      "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": 12,
      "audio_file_id": "string",
      "audio_file_size": 33,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 23,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 65,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 14,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 22,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 29,
      "from_username": "string",
      "link": "string",
      "location_latitude": 36,
      "location_longitude": 27,
      "media_group_id": "string",
      "message_id": 14,
      "photo_file_id": "string",
      "photo_file_size": 79,
      "photo_height": 7,
      "photo_width": 44,
      "text": "string",
      "video_duration": 80,
      "video_file_id": "string",
      "video_file_size": 60,
      "video_height": 86,
      "video_mime_type": "string",
      "video_width": 13
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 67,
      "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": 5,
      "audio_file_id": "string",
      "audio_file_size": 56,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 61,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 77,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 45,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 65,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 9,
      "from_username": "string",
      "link": "string",
      "location_latitude": 21,
      "location_longitude": 31,
      "media_group_id": "string",
      "message_id": 19,
      "photo_file_id": "string",
      "photo_file_size": 41,
      "photo_height": 27,
      "photo_width": 14,
      "text": "string",
      "video_duration": 63,
      "video_file_id": "string",
      "video_file_size": 33,
      "video_height": 67,
      "video_mime_type": "string",
      "video_width": 2
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": false,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 84,
      "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": 12,
      "audio_file_id": "string",
      "audio_file_size": 15,
      "audio_mime_type": "string",
      "audio_performer": "string",
      "audio_title": "string",
      "caption": "string",
      "chat_firstname": "string",
      "chat_id": 90,
      "chat_lastname": "string",
      "chat_username": "string",
      "contact_first_name": "string",
      "contact_last_name": "string",
      "contact_phone_number": "string",
      "contact_user_id": 55,
      "contact_vcard": "string",
      "creation_date": "date",
      "document_file_id": "string",
      "document_file_name": "string",
      "document_file_size": 78,
      "document_mime_type": "string",
      "edit_date": "date",
      "forward_date": "date",
      "forward_from_message_id": 50,
      "from_firstname": "string",
      "from_lastname": "string",
      "from_user_id": 64,
      "from_username": "string",
      "link": "string",
      "location_latitude": 5,
      "location_longitude": 92,
      "media_group_id": "string",
      "message_id": 74,
      "photo_file_id": "string",
      "photo_file_size": 80,
      "photo_height": 79,
      "photo_width": 87,
      "text": "string",
      "video_duration": 31,
      "video_file_id": "string",
      "video_file_size": 34,
      "video_height": 41,
      "video_mime_type": "string",
      "video_width": 73
    }
    

  • user

    {
      "first_name": "string",
      "is_bot": true,
      "language_code": "string",
      "last_name": "string",
      "link": "string",
      "user_id": 78,
      "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