code: def set_chat_description(
          self,
          chat_id: Union[int, str],
          description: str
      ) -> bool:
          
          peer = self.resolve_peer(chat_id)
  
          if isinstance(peer, (types.InputPeerChannel, types.InputPeerChat)):
              self.send(
                  functions.messages.EditChatAbout(
                      peer=peer,
                      about=description
                  )
              )
          else:
              raise ValueError("The chat_id \"{}\" belongs to a user".format(chat_id))
  
          return True
docs: Use this method to change the description of a supergroup or a channel.
          You must be an administrator in the chat for this to work and must have the appropriate admin rights.
  
          Args:
              chat_id (``int`` | ``str``):
                  Unique identifier (int) or username (str) of the target chat.
  
              description (``str``):
                  New chat description, 0-255 characters.
  
          Returns:
              True on success.
  
          Raises:
              :class:`RPCError <pyrogram.RPCError>` in case of a Telegram RPC error.
              ``ValueError`` if a chat_id doesn't belong to a supergroup or a channel.