Пишу тг бота на aiogram3, не могу сделать реферальную систему

Написал данный код, но мне нужно чтобы бот отправлял сообщение не на команду /start, а на инлайн кнопку.Помогите пожалуйста!

import asyncio
from aiogram import Dispatcher
from aiogram import Bot
from aiogram.client.bot import DefaultBotProperties
from aiogram.enums import ParseMode
from aiogram.utils.deep_linking import create_start_link, decode_payload
from aiogram import types
from aiogram.filters import CommandStart
BOT_TOKEN = ('')
dp = Dispatcher()

@dp.message(CommandStart)
async def referral(message: types.Message):
    if len(message.text.split()) >= 2:
        referrer_id = decode_payload(message.text.split()[1])
        await message.answer(f'Вы были приглашены пользователем с ID {referrer_id}.')
        # Send a message to the referrer
        await bot.send_message(referrer_id, f'Пользователь с ID {message.from_user.id} присоединился по вашей реферальной ссылке.')
    else:
        link = await create_start_link(bot, str(message.from_user.id), encode=True)
        await message.answer(f'Ваша пригласительная ссылка: {link}')


if __name__ == '__main__':
    bot = Bot(BOT_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
    asyncio.run(dp.start_polling(bot))

Вот для Inline клавиатуры:

@dp.callback_query(lambda c: c.data == 'a1')
async def referral(callback: types.CallbackQuery):
    if len(callback.text.split()) >= 2:
        referrer_id = decode_payload(callback.text.split()[1])
        await callback.message.answer(f'Вы были приглашены пользователем с ID {referrer_id}.')
        # Send a message to the referrer
        await bot.send_message(referrer_id, f'Пользователь с ID {callback.from_user.id} присоединился по вашей реферальной ссылке.')
    else:
        link = await create_start_link(bot, str(callback.from_user.id), encode=True)
        await callback.message.answer(f'Ваша пригласительная ссылка: {link}')

Выводит ошибку:

in __getattr__
    raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') from exc
AttributeError: 'CallbackQuery' object has no attribute 'text'

Ответы (1 шт):

Автор решения: tiovi

Так обрабатывайте ‘callback’, а не ‘CommandStart’. Ознакомьтесь более детально с библиотекой ‘aiogram’

→ Ссылка