<commit_before># Message object

The first argument passed to handlers, which will be called
`msg` throughout this document, contains a description about
the message that is being processed.

> Suggestion: Running the [`print`](../example/print.js) and
> forwarding or sending messages to your bot is a great way to
> see what info does Telegram give and how it's structured in
> the message object.

All messages have the following data:

 - `msg.id` returns the message ID.

 - `msg.date` returns a `Date` object with the time this message
   was posted.

 - `msg.editDate`  returns a `Date` object with the time the message has
   been last edited. Not present if the message has not been edited.

 - `msg.chat` returns information about the chat this message was sent to:
     - `msg.chat.id` returns the chat's unique ID. It's a positive integer for users, and a negative one for groups.
     - `msg.chat.type` returns one of `user`, `group`, `supergroup` and `channel`.
     - `msg.chat.title` returns the group, supergroup or channel title. Not present if this is a user.
     - `msg.chat.firstname` returns the user's first name. Only present if this is a user.
     - `msg.chat.lastname` returns the user's last name, or `null` if not set. Only present if this is a user.<commit_msg>Typo in docs<commit_after># Message object

The first argument passed to handlers, which will be called
`msg` throughout this document, contains a description about
the message that is being processed.

> Suggestion: Running the [`print`](../example/print.js) example and
> forwarding or sending messages to your bot is a great way to
> see what info does Telegram give and how it's structured in
> the message object.

All messages have the following data:

 - `msg.id` returns the message ID.

 - `msg.date` returns a `Date` object with the time this message
   was posted.

 - `msg.editDate`  returns a `Date` object with the time the message has
   been last edited. Not present if the message has not been edited.

 - `msg.chat` returns information about the chat this message was sent to:
     - `msg.chat.id` returns the chat's unique ID. It's a positive integer for users, and a negative one for groups.
     - `msg.chat.type` returns one of `user`, `group`, `supergroup` and `channel`.
     - `msg.chat.title` returns the group, supergroup or channel title. Not present if this is a user.
     - `msg.chat.firstname` returns the user's first name. Only present if this is a user.
     - `msg.chat.lastname` returns the user's last name, or `null` if not set. Only present if this is a user.
{'fraction_non_alphanumeric': 0.08182169046700116, 'fraction_numerical': 0.0, 'mean_word_length': 3.5, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2172515', 'n_tokens_mistral': 719, 'n_tokens_neox': 695, 'n_words': 378}