twitter-fetcher:使用puppeteer的推特解析+推送插件

这是一个twitter-fetcher插件的问题反馈帖!

:memo: 使用方法

1. 链接解析

安装并启用插件后,此功能默认开启。你只需要在任意群聊或私聊中,发送一条包含 Twitter/X 链接的消息即可。

例如:

快看这个!https://x.com/elonmusk/status/1585841233215102976

机器人将会自动解析并回复聚合了全部内容的消息。

2. 订阅功能

  1. 前往插件配置页,在 【订阅设置】 中,将 enableSubscription 总开关 打开。
  2. 开启后,下方的详细设置会展开。请正确填写 platformselfId,告诉插件使用哪个机器人账号进行推送。
  3. subscriptions 表格中,点击“添加行”,然后填入你想订阅的 推特用户名 和希望接收推送的 群号列表
  4. 保存配置。插件将自动开始按照 updateInterval 设定的时间间隔检查更新。当发现新推文时,会自动推送到指定的群组。

3. Twitter/X auth_token 的获取

  1. 在电脑浏览器上打开 https://x.com 并登录你自己的账号。
  2. 按 F12 打开开发者面板。
  3. 在开发者工具面板的顶部菜单栏中,找到并点击 “应用” (Application) 选项卡。
  4. 在左侧的菜单中,展开 “存储” (Storage) 下的 “Cookie” (Cookies) 栏目。
  5. 在这个列表中找到名为 auth_token 的那一行。
  6. 在 auth_token 这一行中,找到 “值” (Value) 这一列对应的内容,它通常是一长串由字母和数字组成的字符串。
  7. 将刚刚复制的这一长串 auth_token 的值,粘贴到 Koishi 插件配置页面的 cookie 输入框中。

:keyboard: 命令

注意: 以下命令只有在配置中启用了 enableSubscription 总开关后才可用。

  • 测试推特用户推送 <username:string>

    • 功能:测试获取指定用户的最新推文,并将生成的内容直接发送到当前会话。
    • 用途:用于在添加到订阅列表前,验证对某个用户的抓取是否成功,以及预览推送消息的格式。
    • 示例:测试推特用户推送 elonmusk
  • 测试群组推送

    • 功能:立即手动触发一次对所有已配置订阅的检查,并将最新推文(无论是否已推送过)强制推送到目标群组。
    • 用途:用于在配置好订阅列表后,立即验证机器人的推送功能是否正常工作,无需等待下一个检查周期。

:male_detective: 配置项

4 个赞

更新日志

v1.1.0 - 新增谷歌翻译功能,并修复了 GIF 动图无法发送的问题。

4 个赞

v1.1.1 - 新增转推识别功能,开启后可以排除转推的推文,默认开启。

5 个赞

v1.1.2 - 所有 h.image()h.video() 的调用不再使用 Base64 字符串,改用 buffer 发送媒体文件。在订阅轮询任务中,处理完一个用户的推送后,会增加 3 秒的延迟再处理下一个用户。

4 个赞

中文环境下置顶推文未被排除,需要仿照转推推文加入中文关键词识别:

const contextText = socialContextEl.textContent || '';
// if (contextText.includes('Pinned')) continue;
if (contextText.includes('Pinned') || contextText.includes('已置顶')) continue;
if (excludeRetweets && (contextText.includes('Retweeted') || contextText.includes('reposted') || contextText.includes('转推'))) {
  continue;
}
3 个赞

另外转推我这边测出来关键字是已转帖,可能也要排除

3 个赞

感谢反馈,已修复。

2 个赞

v1.1.3 - 修复置顶与转推的关键词识别问题。

2 个赞

v1.1.4 - 新增订阅推文排除功能。

2 个赞