mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-06 07:50:32 +00:00
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
"""
|
|
This is a echo bot.
|
|
It echoes any incoming text messages.
|
|
"""
|
|
|
|
import logging
|
|
|
|
from aiogram import Bot, Dispatcher, executor, types
|
|
|
|
API_TOKEN = "BOT TOKEN HERE"
|
|
|
|
# Configure logging
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
# Initialize bot and dispatcher
|
|
bot = Bot(token=API_TOKEN)
|
|
dp = Dispatcher(bot)
|
|
|
|
|
|
@dp.message_handler(commands=["start", "help"])
|
|
async def send_welcome(message: types.Message):
|
|
"""
|
|
This handler will be called when client send `/start` or `/help` commands.
|
|
"""
|
|
await message.reply("Hi!\nI'm EchoBot!\nPowered by aiogram.")
|
|
|
|
|
|
@dp.message_handler(regexp="(^cat[s]?$|puss)")
|
|
async def cats(message: types.Message):
|
|
with open("data/cats.jpg", "rb") as photo:
|
|
await bot.send_photo(
|
|
message.chat.id,
|
|
photo,
|
|
caption="Cats is here 😺",
|
|
reply_to_message_id=message.message_id,
|
|
)
|
|
|
|
|
|
@dp.message_handler()
|
|
async def echo(message: types.Message):
|
|
await bot.send_message(message.chat.id, message.text)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
executor.start_polling(dp, skip_updates=True)
|