Доброго времени суток.
Сегодня я поведаю вам историю, которая произошла со мной в течение очень долгого времени. А именно - речь пойдет про Яндекс Музыку и ее интеграцию с Discord, чтобы сделать активность (скрин)

Загорелся я данной идеей еще до того, как появился Новый Клиент. Прошел через огромное количество страданий, боли и мучений и все таки, не без помощи русских разработчиков, в основном
, за что огромнейшая благодарность за помощь и терпение. (хотя он наверняка это никогда не прочитает)
Проект, кстати, лежит в открытом доступе на
Да, в моей реализации были проблемы и баги, которые нельзя было исправить из-за самой Яндекс Музыки и отсутствия официального НОРМАЛЬНОГО API, но самое главное, что все работало.
После выхода Нового Клиента я решил, что нужно обновить скрипт и добавить его поддержку. Однако на тот момент данной возможности не было, т.к. это бета клиент, в котором до сих пор нет всех функций. Но сегодня, я почитал беседы в тг, поспрашивал таких же, как я, разработчиков, и узнал о том, что появилась возможность получения треков из Нового Клиента, чему я очень обрадовался.
Целый день сегодня я сидел и кропотливо читал различные документации, спрашивал людей, т.к. по Новому Клиенту информации в интернете просто нет, были лишь намеки на то, что когда-нибудь напишут API сообщества на Python.
По итогу я пришел к 2 вариантам реализации моей задумки:
1. Перехват HTTP запросов
Для данной реализации требуется создать прокси сервер и перенаправлять трафик через него для перехвата
Проблема в том, что тк нельзя прописать прокси сервер в самом клиенте - придется при каждом обновлении клиента лезть в код
можно сделать перехват запросов абсолютно всего, что есть на пк, но опять же, проблема в том, что из-за однопоточности ноды - скорость работы пк будет урезаться.
На счет возможности многопоточности ноды - многопоток в ней полезен только для распределения нагрузки по процессору, а в случае с запросами это I/O (input/output) - это не сработает и даже в оф мануале написано, что можно не пытаться
2. Использование WebSockets - в приложении их на данный момент просто-напросто нет
Печально осознавать, но на данный момент реализовать интеграцию Discord и Новый Клиент не резонно.
Сегодня я поведаю вам историю, которая произошла со мной в течение очень долгого времени. А именно - речь пойдет про Яндекс Музыку и ее интеграцию с Discord, чтобы сделать активность (скрин)

Загорелся я данной идеей еще до того, как появился Новый Клиент. Прошел через огромное количество страданий, боли и мучений и все таки, не без помощи русских разработчиков, в основном
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Проект, кстати, лежит в открытом доступе на
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Да, в моей реализации были проблемы и баги, которые нельзя было исправить из-за самой Яндекс Музыки и отсутствия официального НОРМАЛЬНОГО API, но самое главное, что все работало.
После выхода Нового Клиента я решил, что нужно обновить скрипт и добавить его поддержку. Однако на тот момент данной возможности не было, т.к. это бета клиент, в котором до сих пор нет всех функций. Но сегодня, я почитал беседы в тг, поспрашивал таких же, как я, разработчиков, и узнал о том, что появилась возможность получения треков из Нового Клиента, чему я очень обрадовался.
Целый день сегодня я сидел и кропотливо читал различные документации, спрашивал людей, т.к. по Новому Клиенту информации в интернете просто нет, были лишь намеки на то, что когда-нибудь напишут API сообщества на Python.
По итогу я пришел к 2 вариантам реализации моей задумки:
1. Перехват HTTP запросов
Для данной реализации требуется создать прокси сервер и перенаправлять трафик через него для перехвата
Проблема в том, что тк нельзя прописать прокси сервер в самом клиенте - придется при каждом обновлении клиента лезть в код
можно сделать перехват запросов абсолютно всего, что есть на пк, но опять же, проблема в том, что из-за однопоточности ноды - скорость работы пк будет урезаться.
На счет возможности многопоточности ноды - многопоток в ней полезен только для распределения нагрузки по процессору, а в случае с запросами это I/O (input/output) - это не сработает и даже в оф мануале написано, что можно не пытаться
2. Использование WebSockets - в приложении их на данный момент просто-напросто нет
Печально осознавать, но на данный момент реализовать интеграцию Discord и Новый Клиент не резонно.
Я в курсе о существовании проекта DYMusic, мне данный вариант не подходит по 3 причинам:
1. Это КЛИЕНТ Яндекс Музыки, я же реализовываю простую утилиту для связи с дискордом
2. Данный проект создан на основе старого клиента, что мне, опять же, не подходит. Для старого клиента я все уже давно реализовал
3. Данный проект нарушает как правила Яндекс Музыки (сторонний клиент), так и TOS Discord (селф боты)
P.S. Я общался с автором данной модификации - он не заинтересован в помощи или идеях от меня. Хотя могло бы что-то получиться, наверное...
1. Это КЛИЕНТ Яндекс Музыки, я же реализовываю простую утилиту для связи с дискордом
2. Данный проект создан на основе старого клиента, что мне, опять же, не подходит. Для старого клиента я все уже давно реализовал
3. Данный проект нарушает как правила Яндекс Музыки (сторонний клиент), так и TOS Discord (селф боты)
P.S. Я общался с автором данной модификации - он не заинтересован в помощи или идеях от меня. Хотя могло бы что-то получиться, наверное...
Последнее редактирование: