Add download by url

This commit is contained in:
BarsTiger
2023-10-25 18:18:11 +03:00
parent 1f38c42908
commit 2ae18aacae
10 changed files with 160 additions and 0 deletions

View File

@@ -1 +1,2 @@
from .search import ServiceSearchFilter
from .url import MusicUrlFilter

31
bot/filters/url.py Normal file
View File

@@ -0,0 +1,31 @@
from aiogram.filters import BaseFilter
from aiogram.types import InlineQuery
from urllib.parse import urlparse
class MusicUrlFilter(BaseFilter):
def __init__(self):
pass
async def __call__(self, inline_query: InlineQuery):
if not inline_query.query.strip().startswith('http'):
return False
url = urlparse(inline_query.query)
return (
url.scheme in ['http', 'https'] and
any(
map(
url.netloc.endswith,
[
'youtube.com',
'youtu.be',
'open.spotify.com',
'spotify.link',
'deezer.page.link',
'deezer.com',
]
)
)
)