Discord API Emoji Reactor

通过用户提供的Authorization Token直接调用Discord API添加Emoji反应。支持多方案、用户黑白名单(ID或用户名混用)、ID未知时追溯、为特定用户(ID/用户名)指定不同反应方案并可独立开关、配置导入导出。菜单视觉优化。

作者
MAX-TAB
日安装量
0
总安装量
1
评分
0 0 0
版本
1.0
创建于
2025-05-07
更新于
2025-05-07
大小
97.5 KB
许可证
MIT
适用于

📢 重要提示与风险声明

  • 违反 Discord 服务条款 (ToS) 风险: 自动化用户账户行为,特别是通过非官方方式使用用户 Token,可能违反 Discord 的服务条款。这可能导致你的账户被警告、暂时封禁,甚至永久封禁。请自行承担使用此脚本带来的所有风险。
  • Authorization Token 安全性: 此脚本需要你手动提供 Discord Authorization Token。这个 Token 非常敏感,相当于你的账户密码。请务必妥善保管,不要泄露给任何人,也不要在不信任的网站或脚本中使用。 作者不对因 Token 泄露造成的任何损失负责。
  • Token 时效性: Authorization Token 可能会在你退出登录(不可用)、更改密码或长时间未使用后失效,届时需要重新获取并设置。
  • API 变更风险: Discord 随时可能更改其内部 API,导致此脚本失效。
  • 避免滥用: 请合理使用此脚本,避免过于频繁的自动化操作,以免对 Discord 服务器造成不必要的负担或被视为滥用行为。

✨ 功能特性

  • 通过 API 反应: 直接调用 Discord API 添加 Emoji,反应更稳定、快速,且受前端 UI 变化影响较小。
  • 灵活的 Emoji 配置方案:
    • 支持创建和管理多个全局 Emoji 配置方案 (例如 "默认", "开心", "工作用" 等)。
    • 可以轻松切换全局默认使用的方案。
    • Emoji 字符串格式:
      • 使用分号 (;) 分隔不同的随机反应组。脚本会从这些组中随机选择一个进行反应。
      • 在一个随机选中的组内部,如果使用逗号 (,) 分隔多个 Emoji,脚本会尝试按顺序为该消息添加所有这些 Emoji
      • 示例: 👍;🎉,❤️,😄 (脚本会随机选择:或者是单独反应 👍,或者是依次反应 🎉、❤️、😄 这三个 Emoji)
  • 强大的用户过滤 (黑/白名单模式):
    • 支持 "不过滤"、"黑名单模式" (匹配用户不反应)、"白名单模式" (仅匹配用户反应)。
    • 黑/白名单列表支持混合输入【用户 ID】和【用户名】(用户名不区分大小写)。脚本在判断时会优先尝试匹配 ID 规则。
  • ID 未知时的高级处理 (含追溯功能):
    • 当无法直接从新消息中获取发送者 ID 时 (例如对方使用默认头像或为连续消息),可配置三种行为模式:
      • trace (追溯 - 默认): 尝试从该消息的前序消息中查找有效的发送者 ID。若追溯成功,则使用该 ID 进行过滤和专属方案判断;若失败,则该消息不进行反应。
      • in_list (按名单内处理): 根据当前过滤模式,将未知 ID 用户视为在名单内 (例如,黑名单模式下不反应, 白名单模式下反应)。
      • not_in_list (按名单外处理): 根据当前过滤模式,将未知 ID 用户视为在名单外 (例如,黑名单模式下反应, 白名单模式下不反应)。
  • 用户专属 Emoji 方案 (支持 ID/用户名,可独立开关):
    • 可以为特定的【用户 ID】或【用户名】(不区分大小写)指定一个专属的全局 Emoji 方案。当该用户发消息时,优先使用为其指定的方案。
    • 独立开关: 每个用户专属方案规则都可以单独【启用】或【禁用】。禁用后,该用户将使用全局默认方案,而无需删除规则。
    • 批量添加: 支持一次为多个用户 ID 或用户名设置同一个专属方案。
  • 目标频道设置:
    • 可以指定脚本只在特定的一个或多个频道 ID 生效。如果留空,则脚本会对所有频道生效。
  • 配置导入/导出:
    • 可以方便地导出当前脚本的所有设置 (包括 Emoji 方案、过滤规则、专属方案等) 到一个 JSON 文件,用于备份或迁移。
    • 支持从导出的 JSON 文件导入配置,快速恢复或同步设置。导出时会提示是否包含敏感的 Auth Token。
  • 视觉优化的用户菜单:
    • 所有设置均可通过油猴脚本菜单轻松配置。菜单项通过模拟树状结构进行分组,更易于查找和操作。
  • 详细的帮助信息:
    • 菜单内提供关于获取 Auth Token、配置过滤规则与专属方案、使用自定义表情等关键操作的详细文字说明。
  • 初始消息处理优化:
    • 脚本对频道初次加载时出现的大量历史消息进行了处理优化,更专注于后续接收到的新消息,避免不必要的反应。

🛠️ 安装与使用

  1. 安装油猴扩展: 首先,你需要在你的浏览器中安装 Tampermonkey (推荐) 或类似的脚本管理器扩展。
  2. 安装此脚本: 点击 Greasy Fork镜像 页面上的 "安装此脚本" 按钮。
  3. 获取并设置 Authorization Token (关键步骤):
    • 在 Discord 网页版 (discord.com) 中登录(不可用)你的账户。
    • F12 键 (或 Ctrl+Shift+I / Cmd+Option+I) 打开浏览器开发者工具。
    • 切换到 "网络 (Network)" 标签页。
    • 在过滤器 (Filter) 中可以输入 /apilibrary 以便筛选。
    • 在 Discord 界面进行一些操作 (如发送消息、切换频道) 以产生网络请求。
    • 在请求列表中,找到任意一个发往 discord.com/api/... 的请求 (例如 messages, typing, library, science 等)。
    • 点击该请求,在右侧面板中找到 "标头 (Headers)" -> "请求标头 (Request Headers)" 部分。
    • 仔细查找名为 authorization (全小写) 的条目,并完整复制其值 (这是一段非常长的、由字母、数字和特殊符号组成的字符串,不要复制 "authorization: " 这部分)。
    • 点击浏览器右上角的油猴扩展图标,找到本脚本 ("Discord API Emoji Reactor"),进入其菜单。
    • 选择 "设置 Discord Auth Token"
    • 将复制的 Token 粘贴进去并保存。
    • 脚本菜单中的 "❓ 帮助信息" -> "如何获取 Auth Token?" 也提供了此操作的详细说明。
  4. 配置 Emoji 方案:
    • 在脚本菜单中,进入 "📂 全局 Emoji 方案管理"。
    • 你可以通过 "添加新方案" 来创建新的 Emoji 组合,或通过 "编辑当前方案Emojis" 来修改选定的方案。
    • Emoji 字符串输入格式说明:
      • 使用分号 (;) 分隔不同的随机选项组。脚本会从这些组中随机选择一个。例如: 👍;😄;🎉
      • 在一个选项组内部,使用逗号 (,) 分隔表示要依次反应的多个 Emojis。例如: 👍,❤️,💯
      • 可以混合使用: 👍; 😄,❤️; 🎉
      • 标准 Unicode Emoji:直接输入 Emoji 字符本身 (例如: 👍, ❤️, 🎉)。不要使用英文短代码如 :thumbsup: (API 不支持此格式的反应)。
      • 服务器自定义 Emoji:
        • 在 Discord 聊天输入框中,正常输入或选择你想要的服务器自定义表情。
        • 【不要发送消息!】此时观察输入框,自定义表情会显示为一段特殊的代码,格式通常是:<:myemoji:123456789012345678> (静态) 或 <a:myemoji:123456789012345678> (动态)。
        • 完整复制这个 <...> 格式的字符串 (包括尖括号和冒号) 并将其粘贴到本脚本的 Emoji 配置方案的 Emoji 字符串中。
        • 脚本菜单中的 "❓ 帮助信息" -> "如何使用服务器自定义表情?" 有详细说明。
  5. (可选) 配置用户过滤 (黑/白名单):
    • 在脚本菜单中,进入 "👥 用户过滤设置"。
    • 通过 "切换过滤模式" 选择 "不过滤"、"黑名单模式" 或 "白名单模式"。
    • 使用 "编辑黑名单 (ID/名)" 或 "编辑白名单 (ID/名)" 来添加或修改列表。可以输入用户 ID 或用户名,多个条目用英文逗号 , 分隔。
    • 在 "ID未知时行为" 中选择当无法获取发送者ID时的处理策略(追溯、按名单内、按名单外)。
    • 详细说明请参阅菜单中的 "❓ 帮助信息" -> "用户过滤与专属方案配置说明"。
  6. (可选) 设置用户专属 Emoji 方案:
    • 在脚本菜单中,进入 "👤 用户专属方案 (ID/用户名)"。
    • 使用 "✨ 添加/修改专属方案 (可批量)" 为指定的用户 ID 或用户名绑定一个已创建的全局 Emoji 方案。
    • 可以通过 "⚙️ 切换规则启用/禁用状态" 来管理各条专属规则的激活状态。
  7. (可选) 设置目标频道 ID:
    • 在脚本菜单中,进入 "⚙️ 其他设置与数据管理" -> "设置目标频道ID"。
    • 输入一个或多个 Discord 频道的数字 ID,用英文逗号 , 分隔。如果留空,脚本将对所有频道生效。
  8. (可选) 备份与恢复配置:
    • 在 "⚙️ 其他设置与数据管理" 中,您可以使用 "📥 导出脚本配置" 来备份您的所有设置,或使用 "📤 导入脚本配置" 来恢复。
  9. 启用脚本:
    • 在脚本菜单中,选择最顶部的 "切换API自动反应",确保其状态显示为 "✅ ... (当前: 开启)"。
    • 如果 Auth Token 未设置或无效,脚本通常会自动禁用并给出提示。

❓ 常见问题与故障排除

  • 脚本不工作/没有反应:
    1. 检查 Auth Token 是否正确设置且仍然有效。 Token 可能会过期,需要重新获取并更新到脚本设置中。
    2. 检查脚本是否已在菜单中启用(显示为 ✅ 开启)。
    3. 检查浏览器控制台 (按 F12,然后切换到 "Console" 标签页) 是否有红色的错误信息。 这些信息可能指示问题所在。
    4. 检查 Emoji 配置方案中的 Emoji 字符串格式是否正确。 特别注意标准 Unicode Emoji 必须是字符本身,自定义 Emoji 必须是完整的 <...> 格式。
    5. 检查用户过滤设置(黑/白名单、ID未知时行为)是否意外地将目标用户或消息排除。
    6. 检查目标频道 ID 设置是否正确配置,或者是否因为设置了特定频道而导致在其他频道不生效。
    7. Discord API 可能已更新或脚本本身存在 bug。 这种情况下,脚本可能需要更新才能恢复正常工作。
  • 提示 "授权令牌无效 (401/403)" 或类似错误:
    • 这通常意味着您设置的 Auth Token 已过期、不正确或已被撤销。请按照上述步骤重新获取一个新的 Auth Token,并在脚本菜单中更新它。脚本在此类错误后通常会自动禁用。
  • 提示 "未知表情符号 (Unknown Emoji)" 或 API 错误代码 10014:
    • 这表示您在 Emoji 配置中使用的某个 Emoji 对于 Discord API 来说是无效的或您无权使用。
      • 标准 Emoji: 确保您输入的是 Emoji 字符本身 (如 👍),而不是它的英文短代码 (如 :thumbsup:)。
      • 自定义 Emoji: 确保您使用的是从 Discord 输入框中复制的完整 <:name:id><a:name:id> 格式。同时,请确认您的账户有权限在该服务器和频道中使用此自定义表情,并且该表情未从服务器中删除。
  • 提示 "速率限制 (429 Too Many Requests)" 或反应变慢/失败:
    • 您可能在短时间内触发了过多的 API 请求,这通常发生在:
      • Emoji 配置中使用了大量通过逗号分隔的序列反应 (例如 😀,😂,🤣,😄,😅,😆)。
      • 脚本在非常活跃、消息刷新极快的频道中运行。
    • 解决方法:
      • 尝试在 Emoji 配置中减少序列反应中 Emoji 的数量。
      • 如果问题持续,考虑暂时禁用脚本一段时间,或仅在消息流量较小的频道中使用。
      • (高级用户)可以尝试修改脚本内部处理反应的延迟时间(但这需要直接编辑脚本代码)。
  • 追溯功能不准确或无效:
    • 追溯功能(用于获取无直接发送者信息消息的作者)依赖于消息在页面上的 DOM 结构和排列顺序。诸如快速滚动页面、大量系统消息的插入/删除、或 Discord 进行界面结构更新等因素,都可能影响其准确性。
    • 当前的追溯深度是有限的(通常是向上几条消息)。

感谢使用! 如果您发现任何 bug 或有改进建议,欢迎通过 Greasy Fork镜像 平台反馈。

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址