Discord 奖励 2.0.6

Discord 奖励 2.0.6

Discord 奖励 2.0.6-PCI1
Discord 奖励 2.0.6
此内容为付费资源,请付费后查看
10积分
付费资源

原创地址DiscordRewards |混沌

必需的依赖项

https://chaoscode.io/resources/chaos.321/ https://umod.org/extensions/discord
https://umod.org/plugins/image-library
可选依赖项
https://umod.org/plugins/rust-kits
此插件需要 Discord 扩展 -> https://umod.org/extensions/discord
此插件需要 Chaos 扩展 -> https://chaoscode.io/resources/chaos.321/

当前版本的 DiscordRewards 需要 Oxide.Ext.Discord v3.x.x+
如果您没有运行该版本的扩展程序,您可以从历史选项卡下载 DiscordRewards v2.0.2,该选项卡使用 Oxide.Ext.Discord v2.x.x

奖励玩家成为 Discord 的成员的物品、工具包和命令

功能
– 用户通过聊天命令领取令牌,然后在 Discord 中向您的机器人发送 DM,或在您的 Discord 公会的特定频道中发布以访问奖励商店
– 设置重新验证时间,以便用户必须定期通过您的 Discord 进行验证才能继续获得奖励
– 验证后为玩家提供群组和权限, 并在重新验证期到期时将其删除
– 验证后在 Discord 中授予或移除玩家角色,并在重新验证期到期时删除/添加玩家角色
– 在用户通过验证
后运行命令 – 在验证/重新验证时授予用户令牌,用户可以使用该令牌通过奖励商店购买奖励,或禁用令牌,仅授予组/权限或运行命令
– 额外奖励选项Nitro Boosters
– 根据需要向奖励商店添加任意数量的物品、工具包和命令
– 为每个奖励设置冷却时间或使用影响所有奖励的全局冷却时间,这允许用户一次选择 1 个奖励,或者可以访问多个奖励
– 为您的机器人

设置自定义状态消息 使用插件
用户可以通过在聊天中键入 /discord 来同步他们的帐户。
系统将提示他们使用唯一的 6 位代码进行验证,他们必须向机器人发送 DM,或在 Discord 公会的指定验证频道中发布该代码

bf384455cacf97f04b228c0bc1a4fbe3.png

确认令牌后,他们将被授予配置文件的“基本奖励”部分中列出的权限、群组和 Discord 角色。
如果他们是 Nitro Booster,他们还将被授予配置文件的“Nitro Rewards”部分中列出的权限、群组和 Discord 角色。

如果启用,他们还将获得一定数量的代币(在配置中定义),用于链接他们的 Discord 帐户,这些代币可用于从奖励商店购买物品。

要访问奖励商店,他们只需使用命令 /discord

aba71b05a62ec6b3e4ff15f8aef13345.jpg

 

c9b23661d272c63d7e592a8612a2eb18.jpg

对于具有描述的项目,右侧将显示一个信息图标。单击该按钮将打开一个新对话框,其中包含项目描述

c6012fad759f33a5f21c66553100eea7.png

奖励商店
奖励商店对玩家在关联 Discord 帐户时以及重新验证该链接时提供给玩家的代币进行作。商店中的所有物品都需要代币。

您可以自定义 2 个配置选项来确定为这些活动提供多少代币:
“通过链接 Discord 帐户提供的奖励代币数量”
“每次重新验证关联帐户时提供的奖励代币数量”

权限

DiscordRewards 使用 Oxides 权限系统
要分配用户权限,请在控制台中使用 oxide.grant user “username|steam id” “permission”。
要分配组权限,请在控制台中使用 oxide.grant group “groupname” “permission”。
您可以在此处阅读有关如何使用权限系统的更多信息:uMod – 权限

discordrewards.admin – 需要访问管理员菜单

聊天命令
/discord – 根据用户状态
打开奖励商店和代币菜单 /discord.admin – 打开管理员菜单以编辑奖励

控制台命令
discord.admin purge – 从数据文件中
discord.admin wipe – 撤销所有玩家的奖励并使他们的代币
失效 discord.admin revoke <玩家 ID> – 撤销目标玩家的所有奖励并使其代币

无效 dr.lookup <Steam ID 或 Steam 名称或 Discord ID 或 Discord 名称> – 查找并打印有关指定用户的信息 Steam/Discord 链接

Discord 命令
Discord 命令是通过在 DM 中将它们发送给 Bot 来使用的。
该配置包含运行命令所需的 Roles 列表。如果未指定角色,则命令将不会运行

/dr.lookup <Steam ID 或 Steam 名称或 Discord ID 或 Discord 名称> – 查找并打印有关指定用户的信息 Steam/Discord 链接

奖励 添加/编辑/删除命令
discord.rewards – 显示帮助菜单

— 列表奖励 —
discord.rewards 列表 <物品 |套件 |commands> – 显示指定类别的奖励列表,每个物品

的信息 — 添加奖励
— discord.rewards add item <shortname> <skinId> <amount> <cooldown> <opt:bp> – 向商店添加新的奖励物品(添加“bp”以将物品添加为蓝图)
discord.rewards add kit <name> <kitname> <cooldown> – 向商店
添加新的奖励套件discord.rewards add command <name> <command> <cooldown> – 向商店

添加新的奖励命令 要将奖励限制为仅限 Nitro Boosters,只需在命令末尾添加“nitro”一词即可。
例如:“discord.rewards 添加物品 rifle.lr300 0 1 600 nitro”

— 编辑奖励
— discord.rewards 编辑物品 <ID> <名称 |数量 |cooldown> “edit value” – 编辑 ID 号为 <ID>
的物品的指定字段 discord.rewards edit kit <ID> <name |描述 |图标 |cooldown> “edit value” – 编辑 ID 号为 <ID>
的套件指定字段 discord.rewards edit command <ID> <name |数量 |描述 |图标 |添加 |删除 |冷却时间> “编辑值” – 使用 ID 号<ID编辑套件的指定字段>
图标字段:图标字段可以是 URL,也可以是保存在文件夹“oxide/data/DiscordRewards/Images/”下的磁盘中的图像。
命令添加/删除字段:您可以在此处添加其他命令或删除现有命令。请务必在引号

内键入命令 — 删除奖励
— discord.rewards remove item <ID #> – 删除具有指定 ID 号的物品<b150> discord.rewards remove kit <ID #> – 删除具有指定 ID 号
的工具包 discord.rewards remove 命令 <ID #> – 删除具有指定 ID 号

的命令 — 重要提示 —
删除奖励可能会更改每个奖励 ID 号。请务必在删除

奖励之前列出您的奖励 创建机器人帐户
为了在您的 Discord 中验证用户,您必须创建一个机器人帐户。这是一项非常简单的任务;

1) 确保您已登录 Discord 网站 -> https://discordapp.com/

2) 导航到应用程序页面 -> https://discordapp.com/developers/applications/

3) 点击“创建应用程序”

myapps.png

4) 为您的应用程序命名并保存更改

5) 您现在应该看到如下图所示的内容。请注意“CLIENT ID”这是配置中的“Bot Client ID”字段

app2.png

6) 点击左侧的“Bot”按钮,然后点击“Add Bot”。这将为您的应用程序

创建一个机器人 7) 为您的机器人命名,将“Public Bot”切换到关闭位置,如果您打算授予 Discord 角色作为奖励,则授予机器人“发送消息”权限和“管理角色”权限。

8) 向下滚动到标有“Privileged Gateway Intents”的部分,然后打开“Presence Intent”和“Server Members Intent”

discordbotupdate2.png

9) 点击以显示机器人的“Token”。这是您配置中的“Bot Token”字段,因此请立即将其复制到您的配置中。

bot.png

10) 保存您的更改并退出。您的机器人现在已准备好加入您的 Discord。

邀请您的机器人加入您的 Discord
:现在您已经创建了您的机器人,您需要邀请它加入您的 Discord 服务器。

https://discordapp.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&scope=bot&permissions=2048

复制上面的链接,并将“YOUR_CLIENT_ID”替换为我们在步骤 5 中看到的客户端 ID。将此链接粘贴到浏览器中,系统将提示您从您拥有的服务器列表中选择机器人的服务器。

选择您希望机器人加入的服务器,然后点击 Authorize(授权)。

auth.png

就是这样,您的 bot 现在在您的服务器上。确保您已将所需的详细信息粘贴到您的 DiscordRewards 配置中,以便插件可以与您的 Discord 服务器通信!

添加/删除/编辑奖励
有两种方法可以将奖励添加到奖励商店。

第一种是使用游戏内奖励编辑器,可以通过键入 /discord.admin

来访问加号按钮允许您添加奖励,每个物品在左侧都有自己的编辑和删除按钮。

05a78c39a3b8704c4bae7bea967e8045.jpg

 

f0b4d1e8d94a00512dc05edb4a5163c8.jpg

如果您熟悉的话,第二种方式与 ServerRewards 非常相似。使用下面提供的控制台命令,您可以添加/删除/编辑您的奖励。

使用通过 ImageLibrary 自动检索的项目图标,如果您指定 URL,则可以设置 Kit/Command 图标。您还可以以相同的方式将项目图标替换为自定义图像。

在创建初始命令后,您可以通过键入 discord.rewards edit command edit <add/remove> “command”

命令有 5 个参数,您可以插入这些参数,这些参数将被用户信息
替换 $player.id – 用户的 Steam ID
$player.name – 用户显示名称
$player.x, $player.y, $player.z – 用户位置

将其中任何一个放入您的命令中,它们将被替换为使用命令

的玩家的相应信息 即使您使用的是全局冷却选项

,所有奖励都需要冷却时间 要添加只有 Nitro Boosters 才能领取的奖励,请在添加命令

的末尾添加“nitro”一词 替代奖励
替代奖励可以包括将用户添加到指定用户组、授予他们在 Discord 上的角色、授予用户权限或在用户验证

权限时运行命令,组和 Discord 角色仅在用户拥有有效令牌时持续(请参阅下面的重新验证间隔).验证时间到期后,用户将自动从组中删除并撤销权限,直到他们再次

执行验证过程要添加 Discord 角色,只需将角色名称完全按照在 Discord 中键入的名称放入配置的

“成功验证时授予的 Discord 角色”部分用户完成验证后,命令将运行 1 次。与通过奖励商店提供的命令一样,您可以插入 5 个参数,这些参数将被用户信息

替换 $player.id – 用户的 Steam ID
$player.name – 用户显示名称
$player.x、$player.y、$player.z – 用户位置

Nitro Booster Rewards
就像替代奖励一样,还有其他组、权限和命令可以在 nitro boosters 上运行/提供给 nitro booster。

要向 Nitro Boosters 提供奖励,只需在配置的 Settings/Nitro boost role name 部分输入助推器角色名称即可。然后,您可以将组、权限和命令添加到配置中。

如果您想通过 UI 菜单提供 nitro 特定的物品/套件/命令奖励,只需在添加奖励时在任何“添加”命令的末尾添加“nitro”一词即可。奖励将显示在 UI 中,并带有一个粉红色按钮

设置自定义机器人状态消息
您可以通过修改配置中的“机器人状态消息”选项来为您的机器人设置自定义消息。默认情况下这是空的,你可以把你喜欢的任何东西放进去。

我还添加了 3 个变量,这些变量将在设置消息时替换为 information;
{playersMin} – 显示您服务器上的
当前玩家数量 {playersMax} – 显示您的服务器容量
{rewardPlayers} – 显示当前从此插件获得奖励并拥有有效令牌

ex 1 的玩家数量。“在线玩家 {playersMin} / {playersMax}”将显示“玩家在线 10 / 100”,如果您在 100 个插槽的服务器
(例如 2)上。如果您有 500 名用户使用有效代币
ex 3,则“Discord Members {rewardPlayers}”将显示“Discord Members 500”。“Hello I am a bot”将准确

显示配置选项
令牌生命周期(秒) – 这是从 Discord 机器人向用户发送验证令牌到过期

的时间 重新验证间隔(秒) – 这是从用户在游戏中输入验证令牌到需要重新验证

当用户的令牌过期时,自动尝试并重新验证用户 – 当用户令牌过期时,这将检查他们是否仍在Discord中,如果是,它将自动重新验证用户

机器人令牌和机器人客户端ID – 在上述设置您的Discord机器人

机器人状态消息的步骤中进行了描述。- 允许您为机器人设置自定义状态消息(见上文)

使用全局冷却 – 这将为所有物品创建全局冷却时间,因此用户一次只能领取 1 个奖励。如果为 false,

则用户可以领取所有奖励,并将受到其个人冷却时间的限制 全局冷却时间(秒) – 全局冷却

的冷却时间 启用奖励菜单 – 启用 UI 奖励商店。如果您只想授予权限/组

,请将此项设置为 false 需要重新验证 – 启用重新验证过程,强制用户按您指定的

时间间隔完成验证过程 将用户添加到用户组 – 验证时要将玩家添加到的用户组列表。
用法示例: “Add user to user groups”: [ “group1”, “group2” ],

验证成功时授予的权限 – 验证
成功时授予用户的权限列表用法示例: “验证成功时授予的权限”: [ “rustnet.use”, “grenadelauncher.spawn”],

验证成功时运行的命令 – 验证
玩家时要运行的命令列表 用法示例: “Commands to run on successful validation”: [ “spawncar $player.x $player.y $player.z”],

成功验证时授予的 Discord 角色 – 玩家通过验证
时要授予的 Discord 角色列表用法示例:“成功验证时要授予的 Discord 角色”:[“test role”],

配置

配置文件可以在您的服务器目录中找到,网址为 …/oxide/config/DiscordRewards.json
建议使用编辑器和验证器以避免格式问题
{
  "Settings": {
    "Bot Token": "",
    "Bot Client ID": "",
    "Bot Status Messages": [],
    "Bot Status Cycle Time (seconds)": 120,
    "Log Level (Verbose, Debug, Info, Warning, Error, Exception, Off)": "Info"
  },
  "Rewards": {
    "Amount of reward tokens to give by linking Discord account": 5,
    "Amount of reward tokens to give every time a linked account is re-validated": 3,
    "Basic Rewards": {
      "Add user to Oxide user groups": [],
      "Commands to run on successful validation": [],
      "Permissions to grant on successful validation": [],
      "Discord roles to grant on successful validation": [],
      "Discord roles to revoke on successful validation": []
    },
    "Nitro Rewards": {
      "Add user to Oxide user groups": [],
      "Commands to run on successful validation": [],
      "Permissions to grant on successful validation": [],
      "Discord roles to grant on successful validation": [],
      "Discord roles to revoke on successful validation": []
    }
  },
  "Validation Tokens": {
    "Token Lifetime (seconds)": 3600,
    "Require Re-validation": true,
    "Automatically try and re-validate users when their token has expired": true,
    "Revalidation Interval (seconds)": 84600,
    "Revoke rewards and wipe token data on map wipe": false,
    "Reset reward cooldowns on map wipe": false,
    "Validation channel": ""
  },
  "Global Cooldown": {
    "Use Global Cooldown": false,
    "Global Cooldown Time (seconds)": 84600
  },
  "UI Options": {
    "Enable Reward Menu": true,
    "UI Colors": {
      "Segment": {
        "Hex": "27241D",
        "Alpha": 0.97
      },
      "Panel": {
        "Hex": "6F6B64",
        "Alpha": 0.25
      },
      "Text": {
        "Hex": "BAB1A8",
        "Alpha": 1.0
      },
      "Button": {
        "Hex": "6F6B64",
        "Alpha": 0.6
      },
      "Button Text": {
        "Hex": "BAB1A8",
        "Alpha": 1.0
      },
      "Button Selected": {
        "Hex": "6F6B64",
        "Alpha": 0.5
      },
      "Button Selected Text": {
        "Hex": "FFFFFF",
        "Alpha": 0.8
      },
      "Button Disabled Text": {
        "Hex": "6F6B64",
        "Alpha": 0.3
      },
      "Button Disabled": {
        "Hex": "6F6B64",
        "Alpha": 0.3
      },
      "Claim": {
        "Hex": "738D45",
        "Alpha": 1.0
      },
      "Claim Text": {
        "Hex": "AAEE31",
        "Alpha": 0.94
      },
      "Nitro": {
        "Hex": "DC16F5",
        "Alpha": 0.42
      },
      "Nitro Text": {
        "Hex": "FACFFF",
        "Alpha": 0.87
      },
      "Insufficient": {
        "Hex": "AB2021",
        "Alpha": 0.6
      },
      "Insufficient Text": {
        "Hex": "FFBDBE",
        "Alpha": 0.87
      },
      "Input": {
        "Hex": "BAB1A8",
        "Alpha": 0.3
      },
      "Input Text": {
        "Hex": "FFFFFF",
        "Alpha": 0.8
      },
      "Scrollbar Background": {
        "Hex": "27241D",
        "Alpha": 0.9
      },
      "Scrollbar Handle": {
        "Hex": "6F6B64",
        "Alpha": 0.6
      },
      "Scrollbar Highlight": {
        "Hex": "6F6B64",
        "Alpha": 0.6
      },
      "Scrollbar Pressed": {
        "Hex": "6F6B64",
        "Alpha": 0.6
      }
    },
    "Default bot profile icon shown in UI (overridden by actual bot profile icon if set)": "https://better-default-discord.netlify.app/Icons/Blast-Blue.png"
  },
  "Version": {
    "Major": 2,
    "Minor": 0,
    "Patch": 0
  }
}
  • exa.png
    exa.png

    4.4 KB ·浏览量:10,250
  • valida.png
    valida.png

    6.5 KB ·浏览量:10,309

 

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容