Я хотел отобразить все доступные песни в инлайн режиме (если что использую библиотеку yandex_music), но почему то они не отображаются, там вообще ниче не нет.
Через бот фазе я включал инлайн режим, ошибок в терминале нет
Код
@dp.inline_handler()
async def search_inline(query: types.InlineQuery):
try:
song_name = query.query or 'Трек'
# Поиск песни
search_result = ymusic.search(song_name)
tracks = search_result.tracks.results
if tracks:
# Создаем список для результатов
results_list = []
for i, track in enumerate(tracks):
artist = track.artists[0].name
title = track.title
preview_url = track.get_download_info(get_direct_links=True)[0]['direct_link']
# Отправляем пользователю информацию о каждой найденной песне
response = f"\n Исполнитель: *{artist}*" \
f"\n Название песни: [{title}](https://music.yandex.ru/track/{track.id})" \
f"\n\n Бот для поиска музыки\n@username"
# Создаем объект InlineQueryResultAudio для каждой песни
audio = types.InlineQueryResultAudio(
id=str(i),
title=title,
audio_url=preview_url,
performer=artist,
caption=response,
reply_markup=keyboards(),
parse_mode='Markdown',
)
# Добавляем объект audio в список результатов
results_list.append(audio)
# Отправляем ответ с результатами
await bot.answer_inline_query(query.id, results=results_list)
else:
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton("", switch_inline_query_current_chat=""))
error = [
types.InlineQueryResultArticle(
id='404',
title='Не удалось найти эту песню :(',
input_message_content=types.InputTextMessageContent(message_text='_Не удалось найти эту песню :(_', parse_mode='Markdown'),
reply_markup=markup
)
]
await bot.answer_inline_query(query.id, error)
except Exception as e:
print(f"Произошла ошибка при поиске песни: {e}")