def ocurs_chars(
	message: str, *, percent: bool = False, reverse: bool = False
) -> dict[str, int | float]:
	"""Count all ocurences of char in the message.

	Args:
		message (str): the message to process.
		percent (bool, optional): if the ocurences need to be
			specied as percent. Defaults to False.
		reverse (bool, optional): dict sort in reverse order.
			Defaults to False.

	Returns:
		dict[str, int | float]: the dict of all ocurences.
	"""
	chars = dict()
	for char in message:
		if char in chars:
			chars[char] += 1
		else:
			chars[char] = 1

	# It's beautiful (sort dict by value)
	chars = {key: value for key, value in sorted(chars.items(), key=(lambda item: item[1]), reverse=not reverse)}
	if percent:
		len_msg = len(message)
		chars = {key: round(value*100/len_msg, 2) for key, value in chars.items()}
	return chars