from __future__ import annotations

from typing import TYPE_CHECKING

from litegram import Router
from litegram.filters import Command

if TYPE_CHECKING:
    from litegram.types import Message

# For each module with handlers we can create a separate router.
echo_router = Router()


@echo_router.message()
async def echo_handler(message: Message) -> None:
    """
    Handler will forward receive a message back to the sender

    By default, message handler will handle all message types (like a text, photo, sticker etc.)
    """
    try:
        # Send a copy of the received message
        await message.send_copy(chat_id=message.chat.id)
    except TypeError:
        # But not all the types is supported to be copied so need to handle it
        await message.answer("Nice try!")
