`_
-- ``inline fixed-width code``
-- .. code-block:: text
-
- pre-formatted
- fixed-width
- code block
-
-Markdown Style
---------------
-
-To strictly use this mode, pass :obj:`~pyrogram.enums.ParseMode.MARKDOWN` to the *parse_mode* parameter when using
-:meth:`~pyrogram.Client.send_message`. Use the following syntax in your message:
-
-.. code-block:: text
-
- **bold**
-
- __italic__
-
- --underline--
-
- ~~strike~~
-
- ||spoiler||
-
- [text URL](https://pyrogram.org/)
-
- [text user mention](tg://user?id=123456789)
-
- `inline fixed-width code`
-
- ```
- pre-formatted
- fixed-width
- code block
- ```
-
-**Example**:
-
-.. code-block:: python
-
- from pyrogram import enums
-
- await app.send_message(
- "me",
- (
- "**bold**, "
- "__italic__, "
- "--underline--, "
- "~~strike~~, "
- "||spoiler||, "
- "[URL](https://pyrogram.org), "
- "`code`, "
- "```"
- "for i in range(10):\n"
- " print(i)"
- "```"
- ),
- parse_mode=enums.ParseMode.MARKDOWN
- )
-
-HTML Style
-----------
-
-To strictly use this mode, pass :obj:`~pyrogram.enums.HTML` to the *parse_mode* parameter when using
-:meth:`~pyrogram.Client.send_message`. The following tags are currently supported:
-
-.. code-block:: text
-
- bold, bold
-
- italic, italic
-
- underline
-
- strike, strike, strike
-
- spoiler
-
- text URL
-
- inline mention
-
- inline fixed-width code
-
- 🔥
-
-
- pre-formatted
- fixed-width
- code block
-
-
-**Example**:
-
-.. code-block:: python
-
- from pyrogram import enums
-
- await app.send_message(
- "me",
- (
- "bold, "
- "italic, "
- "underline, "
- "strike, "
- "spoiler, "
- "URL, "
- "code
\n\n"
- ""
- "for i in range(10):\n"
- " print(i)"
- "
"
- ),
- parse_mode=enums.ParseMode.HTML
- )
-
-.. note::
-
- All ``<``, ``>`` and ``&`` symbols that are not a part of a tag or an HTML entity must be replaced with the
- corresponding HTML entities (``<`` with ``<``, ``>`` with ``>`` and ``&`` with ``&``). You can use this
- snippet to quickly escape those characters:
-
- .. code-block:: python
-
- import html
-
- text = ""
- text = html.escape(text)
-
- print(text)
-
- .. code-block:: text
-
- <my text>
-
-Different Styles
-----------------
-
-By default, when ignoring the *parse_mode* parameter, both Markdown and HTML styles are enabled together.
-This means you can combine together both syntaxes in the same text:
-
-.. code-block:: python
-
- await app.send_message("me", "**bold**, italic")
-
-Result:
-
- **bold**, *italic*
-
-If you don't like this behaviour you can always choose to only enable either Markdown or HTML in strict mode by passing
-:obj:`~pyrogram.enums.MARKDOWN` or :obj:`~pyrogram.enums.HTML` as argument to the *parse_mode* parameter.
-
-.. code-block:: python
-
- from pyrogram import enums
-
- await app.send_message("me", "**bold**, italic", parse_mode=enums.ParseMode.MARKDOWN)
- await app.send_message("me", "**bold**, italic", parse_mode=enums.ParseMode.HTML)
-
-Result:
-
- **bold**, italic
-
- \*\*bold**, *italic*
-
-In case you want to completely turn off the style parser, simply pass :obj:`~pyrogram.enums.DISABLED` to *parse_mode*.
-The text will be sent as-is.
-
-.. code-block:: python
-
- from pyrogram import enums
-
- await app.send_message("me", "**bold**, italic", parse_mode=enums.ParseMode.DISABLED)
-
-Result:
-
- \*\*bold**, italic
-
-Nested and Overlapping Entities
--------------------------------
-
-You can also style texts with more than one decoration at once by nesting entities together. For example, you can send
-a text message with both :bold-underline:`bold and underline` styles, or a text that has both :strike-italic:`italic and
-strike` styles, and you can still combine both Markdown and HTML together.
-
-Here there are some example texts you can try sending:
-
-**Markdown**:
-
-- ``**bold, --underline--**``
-- ``**bold __italic --underline ~~strike~~--__**``
-- ``**bold __and** italic__``
-
-**HTML**:
-
-- ``bold, underline``
-- ``bold italic underline strike``
-- ``bold and italic``
-
-**Combined**:
-
-- ``--you can combine HTML with **Markdown**--``
-- ``**and also overlap** --entities this way--``
diff --git a/docs/source/topics/use-filters.rst b/docs/source/topics/use-filters.rst
deleted file mode 100644
index ab7296af85..0000000000
--- a/docs/source/topics/use-filters.rst
+++ /dev/null
@@ -1,114 +0,0 @@
-Using Filters
-=============
-
-So far we've seen :doc:`how to register a callback function <../start/updates>` that executes every time an update comes
-from the server, but there's much more than that to come.
-
-Here we'll discuss about :obj:`~pyrogram.filters`. Filters enable a fine-grain control over what kind of
-updates are allowed or not to be passed in your callback functions, based on their inner details.
-
-.. contents:: Contents
- :backlinks: none
- :depth: 1
- :local:
-
------
-
-Single Filters
---------------
-
-Let's start right away with a simple example:
-
-- This example will show you how to **only** handle messages containing a :class:`~pyrogram.types.Sticker` object and
- ignore any other message. Filters are passed as the first argument of the decorator:
-
- .. code-block:: python
-
- from pyrogram import filters
-
-
- @app.on_message(filters.sticker)
- async def my_handler(client, message):
- print(message)
-
-- or, without decorators. Here filters are passed as the second argument of the handler constructor; the first is the
- callback function itself:
-
- .. code-block:: python
-
- from pyrogram import filters
- from pyrogram.handlers import MessageHandler
-
-
- async def my_handler(client, message):
- print(message)
-
-
- app.add_handler(MessageHandler(my_handler, filters.sticker))
-
-Combining Filters
------------------
-
-Filters can be used in a more advanced way by inverting and combining more filters together using bitwise
-operators ``~``, ``&`` and ``|``:
-
-- Use ``~`` to invert a filter (behaves like the ``not`` operator).
-- Use ``&`` and ``|`` to merge two filters (behave like ``and``, ``or`` operators respectively).
-
-Here are some examples:
-
-- Message is a **text** message **or** a **photo**.
-
- .. code-block:: python
-
- @app.on_message(filters.text | filters.photo)
- async def my_handler(client, message):
- print(message)
-
-- Message is a **sticker** **and** is coming from a **channel or** a **private** chat.
-
- .. code-block:: python
-
- @app.on_message(filters.sticker & (filters.channel | filters.private))
- async def my_handler(client, message):
- print(message)
-
-Advanced Filters
-----------------
-
-Some filters, like :meth:`~pyrogram.filters.command` or :meth:`~pyrogram.filters.regex`
-can also accept arguments:
-
-- Message is either a */start* or */help* **command**.
-
- .. code-block:: python
-
- @app.on_message(filters.command(["start", "help"]))
- async def my_handler(client, message):
- print(message)
-
-- Message is a **text** message or a media **caption** matching the given **regex** pattern.
-
- .. code-block:: python
-
- @app.on_message(filters.regex("pyrogram"))
- async def my_handler(client, message):
- print(message)
-
-More handlers using different filters can also live together.
-
-.. code-block:: python
-
- @app.on_message(filters.command("start"))
- async def start_command(client, message):
- print("This is the /start command")
-
-
- @app.on_message(filters.command("help"))
- async def help_command(client, message):
- print("This is the /help command")
-
-
- @app.on_message(filters.chat("PyrogramChat"))
- async def from_pyrogramchat(client, message):
- print("New message in @PyrogramChat")
diff --git a/docs/source/topics/voice-calls.rst b/docs/source/topics/voice-calls.rst
deleted file mode 100644
index aef4030ca8..0000000000
--- a/docs/source/topics/voice-calls.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Voice Calls
-===========
-
-Both private voice calls and group voice calls are currently supported by third-party, external libraries that integrate
-with Pyrogram.
-
-Libraries
----------
-
-There are currently two main libraries (with very similar names) you can use:
-
-1. https://github.com/pytgcalls/pytgcalls
-2. https://github.com/MarshalX/tgcalls
-
-Older implementations
----------------------
-
-An older implementation of Telegram voice calls can be found at https://github.com/bakatrouble/pylibtgvoip (currently
-outdated due to the deprecation of the Telegram VoIP library used underneath).
\ No newline at end of file