【问题标题】:How do I use Discord-RPC with Chrome Extension?如何将 Discord-RPC 与 Chrome 扩展一起使用?
【发布时间】:2020-02-27 01:42:34
【问题描述】:

我想制作一个 chrome 扩展来解析 youtube/soundcloud/... 页面并获取当前歌曲的名称。然后它应该在不和谐中更新用户的丰富存在状态。就像在 python there 中做的一样。

到目前为止,我有那个。标题已经解析,没有问题。我对该代码的工作有疑问。因为它不起作用。

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)
}

我也尝试过原始的 websocket 连接,但我很愚蠢..

更新: 上面的代码在 content.js 中。

browser.js 是从我通过 npm 下载的模块 discord-rpc 的根目录复制的文件。

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"]
      }
    ]
}

附:我很抱歉。我是 JS 新手。

【问题讨论】:

  • 扩展有不同的部分,每个部分都有不同的限制和能力。将 manifest.json 添加到您的问题并指定哪个文件包含已发布的代码片段。
  • 已添加。请帮帮我^_^
  • 现代 Chrome 不允许内容脚本中的跨域请求,请参阅 official CORB explainer 以获取在后台脚本中执行请求的示例。

标签: javascript google-chrome-extension discord discord-rpc


【解决方案1】:

我找到了一个解决方案:

  • Chrome 扩展程序解析页面并将套接字发送到另一个应用程序
  • 您 PC 上的另一个应用程序获取这些套接字,然后将 RPC 发送到 Discord

Timeraa#7947(PreMiD 开发者):如果您使用浏览器连接,Discord 几乎会立即断开连接,相信我,我试过了。您需要在后台运行一个应用程序

因此,您可以使用 PreMiD 并推送 PreMiD 的存在列表或制作自己的应用来执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    相关资源
    最近更新 更多