from telebot.async_telebot import AsyncTeleBot from telebot.asyncio_handler_backends import ContinueHandling bot = AsyncTeleBot('TOKEN') @bot.message_handler(commands=['start']) async def start(message): await bot.send_message(message.chat.id, 'Hello World!') return ContinueHandling() @bot.message_handler(commands=['start']) async def start2(message): """ This handler comes after the first one, but it will never be called. But you can call it by returning ContinueHandling() in the first handler. If you return ContinueHandling() in the first handler, the next registered handler with appropriate filters will be called. """ await bot.send_message(message.chat.id, 'Hello World2!') import asyncio asyncio.run(bot.polling()) # just a reminder that infinity polling # wraps polling into try/except block just as sync version, # but you can use any of them because neither of them stops if you # pass non_stop=True