В версии 2.9 библиотеки `aiogram` изменилось поведение метода `get_args()`, в связи с чем вы не можете получить аргументы команды, переданные через URL-ссылку. Теперь для получения аргумента, переданного в `start`-ссылке, вам нужно использовать способ, связанный с `inline_query` или `callback_query`, в зависимости от контекста.
Однако для получения аргументов, которые передаются через `t.me/XXXXX?start=XXXXX`, вы можете обработать это в функции обработки команды `/start`, используя атрибуты объекта `message`. Вам нужно извлечь параметры напрямую из `message`. Вот пример того, как это сделать:
```python
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.utils import executor
API_TOKEN = 'YOUR_API_TOKEN'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot, storage=MemoryStorage())
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
# Получаем аргументы
args = message.get_commandArgs() # или используйте следующую строчку для получения args
start_arg = message.get_args()
# Проверяем, если аргументы были переданы
if start_arg:
await message.reply(f"Привет, {start_arg}!")
else:
await message.reply("Привет! Добро пожаловать.")
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
```
### Общеизвестные моменты:
1. В этом коде `args` будет содержать значении, переданное через `start`, например, `170398b5baf3`, если оно указано в ссылке.
2. Убедитесь, что вы правильно задали токен бота.
3. Если используется другой способ передачи параметров (например, через inline-кнопки), вам нужно будет обработать это отдельно.
Пожалуйста, проверьте, правильно ли указаны команды и аргументы в URL-ссылке, чтобы они соответствовали ожиданиям вашего кода.