warlof/seat-discord-connector

一个SeAT插件,根据定义的模式在Discord公会中维护用户访问权限。

资助包维护!
warlof

安装量: 41,901

依赖: 2

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 27

类型:seat-plugin

6.0.1 2023-12-28 21:06 UTC

README

这是一个SeAT插件,它根据定义的模式在Discord公会中维护用户访问权限。

Latest Unstable Version Latest Stable Version Maintainability License

感谢Warlof Tutsimo编写原始插件。自2023年12月23日起,开发工作由zenobio93接手。要找到应用的变化,请参阅git历史记录。

设置

创建应用程序

  • 访问以下网址以创建应用程序并获取机器人令牌。
  • 给它一个名字和合适的描述,这样用户以后就能知道它是什么相关的。
  • 在侧边栏中,点击 Oauth2 > 通用,然后点击两次 添加重定向 按钮,并在生成的字段中输入以下地址:
    • {seat-public-url}/seat-connector/registration/discord/callback
    • {seat-public-url}/seat-connector/settings/discord/callback
  • 在侧边栏中点击 机器人 并点击 添加机器人 按钮
    • 勾选 公开机器人
    • 勾选 需要OAuth2代码授权
    • 勾选 服务器成员意图

注意

例如,如果您在 seat.example.com 上有SeAT,回调将是:

  • https://seat.example.com/seat-connector/registration/discord/callback
  • https://seat.example.com/seat-connector/settings/discord/callback

但是,如果您正在使用 example.com/seat 访问SeAT,回调将变为:

  • https://example.com/seat/seat-connector/registration/discord/callback
  • https://example.com/seat/seat-connector/settings/discord/callback

获取凭证

一旦您的应用程序已创建,我们将需要检索将在SeAT中设置连接器时使用的凭证。

访问以下网址并点击与之前创建的应用程序匹配的框。

记下以下信息

  • 在侧边栏下,在 Oauth2 > 通用
    • Client ID,这是一个显示的数字
    • Client Secret,这是一个奇怪的文本(点击 点击显示 链接)
  • 在侧边栏下,在 机器人
    • Token,这是一个奇怪的文本(点击 点击显示令牌 链接)。

安装包

从SeAT 3.0开始 - 安装包变得超级简单。只需要求 warlof/seat-discord-connector,发布供应商并运行迁移脚本:)

  • 首先,运行以下命令 composer require warlof/seat-discord-connector
  • 最后,使用 php artisan migrate 运行迁移脚本

别忘了使用 service supervisor restart(如果您在Docker下,则为您的 seat-worker 容器)重启 supervisor;)

重要

所有上述命令都必须使用SeAT实例用户 www-dataseat 或您在安装中使用的任何内容运行。它们需要在根SeAT目录下运行,该目录通常为 /var/www/seat

设置包

使用您的SeAT实例上的管理员用户进行身份验证。如果上述所有语句都已正确执行,您将在侧边栏中看到一个名为 连接器 的新部分。

打开它,然后转到 设置 并使用本指南开头收集的信息填写表单。

使用 更新 按钮确认,这将带您转到Discord SSO。

在列表中选择需要安装SeAT机器人的服务器,保持权限不变,然后点击授权按钮。

discord setup

对于所有这些法语内容,我感到非常抱歉,但Discord SSO使用浏览器设置来显示内容。尽管语言不同,但所有国家的内容应该相似。

一旦您被重定向回SeAT,您可以选择Discord,然后点击绿色的更新集合按钮,这将向SeAT提供Discord上可用的角色。

设置访问

要建立SeAT和Discord之间的映射,进入连接器 > 访问管理。如果您在表单中看不到任何角色,请进入连接器 > 设置并点击更新Discord集合按钮。

Discord连接器中,有6种称为过滤器的映射类型。它们的范围在下表中解释。

要创建过滤器,只需根据您的需求填写左侧的可用的表单。然后,点击添加按钮。在任何时候,您都可以检查右侧表中的哪些过滤器已设置。您还可以使用每个映射线附近的红色删除按钮删除映射。

链接账户和获取邀请

作为用户,您将在侧边栏看到一个名为连接器的部分。打开它,然后点击加入服务器

这将重定向您到Discord SSO,并显示一个简单的表单,告知机器人将能够收集基本信息(如您的Discord唯一ID和昵称),并授权邀请您加入附带的Discord服务器。

只需使用授权按钮确认,然后将被重定向到SeAT主页,并显示一个绿色的确认框。

discord link

您将被自动邀请到Discord服务器和附带的频道。

升级

如果您来自4.x之前的版本,您可能希望将数据转换为新的连接器结构。为此,运行命令seat-connector:convert:discord - 它将协助您完成此过程。

回调URL已更改,这意味着您必须更新您的Discord应用程序。

已知问题

以下是一个快速的问题列表(如有适用,还包括解决方案)。目的是协助您进行故障排除,并找到解决方案路径。