squareonex/seat-discord-connector

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

资助包维护!
warlof

安装: 15

依赖: 0

建议者: 0

安全: 0

星星: 0

监视者: 0

分支: 27

类型:seat-plugin

dev-main 2023-11-18 14:00 UTC

This package is not auto-updated.

Last update: 2024-09-22 16:34:38 UTC


README

SeAT插件,基于定义模式维护Discord公会中的用户访问权限。

Latest Unstable Version Latest Stable Version Maintainability License

设置

创建应用

  • 访问以下网址以创建应用并获取bot令牌: https://discordapp.com/developers/applications
  • 给它一个名称和合适的描述;这样用户就能知道它是什么相关的了。
  • 在侧边栏中,点击“OAuth2”并点击两次“添加重定向”按钮,并在生成的字段中填入以下地址:
    • {seat-public-url}/seat-connector/registration/discord/callback
    • {seat-public-url}/seat-connector/settings/discord/callback
  • 在侧边栏中点击“Bot”并点击“添加Bot”按钮
    • 勾选“Public Bot”
    • 勾选“需要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中设置连接器的凭据。

访问以下网址并点击与之前创建的应用匹配的框: https://discordapp.com/developers/applications

注意以下信息

  • 从侧边栏的“常规信息”下
    • Client ID,这是一个显示的数字
    • Client Secret,这是一段奇怪的文本(点击“点击显示”链接)
  • 从侧边栏的“Bot”下
    • Token,这是一段奇怪的文本(点击“点击显示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 Bot需要安装的服务器,保持权限不变,然后点击授权按钮。

discord setup

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

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

设置访问

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

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

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

链接账户和获取邀请

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

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

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

discord link

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

设置

SeAT global_settings表中的键'seat-discord-connector'被此模块使用。它包含此模块使用的序列化设置。

默认情况下,此连接器期望完全管理Discord服务器上的所有角色。通过仔细操作这些值,您可以定义此连接器可以操作的角色的范围。默认设置中使用“RoleName Example2 RemoveMe”是为了让管理员在没有阅读此文档的情况下,通过查看设置就能最好地了解如何配置多个角色的字段。

升级

如果您是从4.x之前的版本升级的,您可能需要将您的数据转换为新的连接器结构。要这样做,请运行命令seat-connector:convert:discord,它将协助您完成此过程。

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

已知问题

以下是一个已知问题(及其解决方案,如果适用)的快速列表。目的是帮助您进行故障排除并找到解决方案路径。