24 行
1.3 KiB
Python
24 行
1.3 KiB
Python
import os
|
||
|
||
from yandex_music import Client
|
||
from yandex_music.exceptions import YandexMusicError
|
||
from yandex_music.utils.request import Request
|
||
|
||
yandex_music_token = os.environ.get('YANDEX_MUSIC_TOKEN')
|
||
proxied_request = Request(proxy_url=os.environ.get('PROXY_URL'))
|
||
|
||
try:
|
||
if not yandex_music_token:
|
||
raise YandexMusicError()
|
||
|
||
# подключаемся без прокси для получения информации об аккаунте (доступно из других стран)
|
||
client = Client(yandex_music_token, request=Request())
|
||
# проверяем отсутствие подписки у пользователя
|
||
if client.me and client.me.plus and not client.me.plus.has_plus:
|
||
# если подписки нет - пересоздаем клиент с использованием прокси
|
||
client = Client(yandex_music_token, request=proxied_request)
|
||
except YandexMusicError:
|
||
# если есть проблемы с авторизацией, токеном или чем-либо еще, то инициализируем клиент без авторизации
|
||
# так как сервисом можно пользоваться будучи гостем, но со своими ограничениями
|
||
client = Client(request=proxied_request, fetch_account_status=False)
|