code: def pin_chat_message(
          self,
          chat_id: Union[int, str],
          message_id: int,
          disable_notification: bool = None
      ) -> bool:
          
          self.send(
              functions.messages.UpdatePinnedMessage(
                  peer=self.resolve_peer(chat_id),
                  id=message_id,
                  silent=disable_notification or None
              )
          )
  
          return True
docs: Use this method to pin a message in a group, channel or your own chat.
          You must be an administrator in the chat for this to work and must have the "can_pin_messages" admin right in
          the supergroup or "can_edit_messages" admin right in the channel.
  
          Args:
              chat_id (``int`` | ``str``):
                  Unique identifier (int) or username (str) of the target chat.
  
              message_id (``int``):
                  Identifier of a message to pin.
  
              disable_notification (``bool``):
                  Pass True, if it is not necessary to send a notification to all chat members about the new pinned
                  message. Notifications are always disabled in channels.
  
          Returns:
              True on success.
  
          Raises:
              :class:`RPCError <pyrogram.RPCError>` in case of a Telegram RPC error.