Как использовать Discord-RPC с расширением Chrome? - PullRequest
0 голосов
/ 31 октября 2019

Я хочу сделать расширение Chrome, которое анализирует страницы youtube / soundcloud / ... и получает название текущей песни. Затем он должен обновить статус богатого присутствия пользователя в разногласия. Как это сделал в python там .

У меня пока что есть. Название уже проанализировано, проблем нет. У меня проблема с этим кодом работает. Потому что это не работает.

const clientId = '605777168739598338';
const scopes = ['rpc', 'rpc.api'];

const client = new RPC.Client({ transport: 'websocket' });

client.connect();

function updatePresence(title, time, icon) {
    title = title.replace(/["]/g, "\\\"");
    client.setActivity({
        details: title,
        startTimestamp: time,
        largeImageKey: icon
    }, 9999)
}

Я также пытался использовать необработанное соединение с веб-сокетом, но я тупой ..

UPD: приведенный выше код находится в content.js.

browser.js - это файл, скопированный из корня модуля discord-rpc , который я скачал через npm.

manifest.json

{
  "manifest_version": 2,
  "name": "Tomori Player",
  "version": "0.1.0",
  "browser_action": {
     "default_icon": "icon.png"
    },
    "background": {
        "scripts": ["browser.js"]
    },
    "permissions": [
        "ws://localhost:6463/*",
        "tabs",
        "webRequest",
        "webRequestBlocking"
    ],
  "content_scripts": [
      {
        "matches": [
          "https://www.youtube.com/watch*",
          "https://youtube.com/watch*"
        ],
        "js": ["content.js"]
      }
    ]
}

PS Ятак жаль. Я новичок в JS.

1 Ответ

0 голосов
/ 09 ноября 2019

Найдено решение:

  • Расширение Chrome анализирует страницу и отправляет сокеты другому приложению
  • Другое приложение на вашем ПК получает эти сокеты и затем отправляет RPC в Discord

Timeraa # 7947 (PreMiD dev): Discord отключится почти сразу, если вы подключитесь с помощью браузера, поверьте мне, я пытался. Вам понадобится приложение, работающее в фоновом режиме

Итак, вы можете использовать PreMiD и открыть список присутствий PreMiD или создать собственное приложение для этого.

...