import asyncio
import re
from aiogram import Bot, Dispatcher
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
from aiogram.types import Message
TOKEN = ""
dp = Dispatcher()
@dp.message()
async def handle_loadinfo_link(message: Message):
text = message.text.strip() # попытался заменить на split(' ')[-1] не получается.
pattern = r'https?://\S+'
url_match = re.search(pattern, text)
# Если есть ссылка.
if url_match:
link = url_match.group(0)
if "https://loads.ati.su/loadinfo" in link:
# Что-то делаю с ссылкой...
await message.answer("Ссылка принята! Обрабатываю...")
else:
await message.answer("Неверная ссылка, она должна начинаться на https://loads.ati.su/loadinfo")
# Если нет ссылки.
else:
await message.answer("Нет ссылки в сообщении.")
async def main() -> None:
bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
https://loads.ru
(или https://loads.ru"
, если кавычка там не случайно). Но потом вы сравниваете https://loads.ru с re
предпочтительнее. systemcheck --verbose --gui --cli
sudo apt update
sudo apt full-upgrade
C:\Users\Station\Music\padenie-truby.mp3
, а в первоначальной ошибке: C:\Users\Station\Downloads\udar-truby-3.mp3
Ну и, как вариант, попробуйте увеличить timeout.
bot.send_audio(message.chat.id, audio, timeout=30)