- 必需的依赖项
https://chaoscode.io/resources/chaos.321/ https://umod.org/extensions/discord
https://umod.org/plugins/image-library
此插件需要 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 命令
- • 创建 Bot 帐户
- • 邀请您的机器人加入您的 Discord
- • 添加/删除/编辑奖励
- • 替代奖励
- • Nitro Booster 奖励
- • 设置自定义机器人状态消息
- • 配置选项
- • 配置
功能
– 用户通过聊天命令领取令牌,然后在 Discord 中向您的机器人发送 DM,或在您的 Discord 公会的特定频道中发布以访问奖励商店
– 设置重新验证时间,以便用户必须定期通过您的 Discord 进行验证才能继续获得奖励
– 验证后为玩家提供群组和权限, 并在重新验证期到期时将其删除
– 验证后在 Discord 中授予或移除玩家角色,并在重新验证期到期时删除/添加玩家角色
– 在用户通过验证
后运行命令 – 在验证/重新验证时授予用户令牌,用户可以使用该令牌通过奖励商店购买奖励,或禁用令牌,仅授予组/权限或运行命令
– 额外奖励选项Nitro Boosters
– 根据需要向奖励商店添加任意数量的物品、工具包和命令
– 为每个奖励设置冷却时间或使用影响所有奖励的全局冷却时间,这允许用户一次选择 1 个奖励,或者可以访问多个奖励
– 为您的机器人
设置自定义状态消息 使用插件
用户可以通过在聊天中键入 /discord 来同步他们的帐户。
系统将提示他们使用唯一的 6 位代码进行验证,他们必须向机器人发送 DM,或在 Discord 公会的指定验证频道中发布该代码

确认令牌后,他们将被授予配置文件的“基本奖励”部分中列出的权限、群组和 Discord 角色。
如果他们是 Nitro Booster,他们还将被授予配置文件的“Nitro Rewards”部分中列出的权限、群组和 Discord 角色。
如果启用,他们还将获得一定数量的代币(在配置中定义),用于链接他们的 Discord 帐户,这些代币可用于从奖励商店购买物品。
要访问奖励商店,他们只需使用命令 /discord


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

奖励商店
奖励商店对玩家在关联 Discord 帐户时以及重新验证该链接时提供给玩家的代币进行作。商店中的所有物品都需要代币。
您可以自定义 2 个配置选项来确定为这些活动提供多少代币:
“通过链接 Discord 帐户提供的奖励代币数量”
“每次重新验证关联帐户时提供的奖励代币数量”
要分配用户权限,请在控制台中使用 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) 点击“创建应用程序”
4) 为您的应用程序命名并保存更改
5) 您现在应该看到如下图所示的内容。请注意“CLIENT ID”,这是配置中的“Bot Client ID”字段
6) 点击左侧的“Bot”按钮,然后点击“Add Bot”。这将为您的应用程序
创建一个机器人 7) 为您的机器人命名,将“Public Bot”切换到关闭位置,如果您打算授予 Discord 角色作为奖励,则授予机器人“发送消息”权限和“管理角色”权限。
8) 向下滚动到标有“Privileged Gateway Intents”的部分,然后打开“Presence Intent”和“Server Members Intent”
9) 点击以显示机器人的“Token”。这是您配置中的“Bot Token”字段,因此请立即将其复制到您的配置中。
10) 保存您的更改并退出。您的机器人现在已准备好加入您的 Discord。
邀请您的机器人加入您的 Discord
:现在您已经创建了您的机器人,您需要邀请它加入您的 Discord 服务器。
https://discordapp.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&scope=bot&permissions=2048
复制上面的链接,并将“YOUR_CLIENT_ID”替换为我们在步骤 5 中看到的客户端 ID。将此链接粘贴到浏览器中,系统将提示您从您拥有的服务器列表中选择机器人的服务器。
选择您希望机器人加入的服务器,然后点击 Authorize(授权)。
就是这样,您的 bot 现在在您的服务器上。确保您已将所需的详细信息粘贴到您的 DiscordRewards 配置中,以便插件可以与您的 Discord 服务器通信!
第一种是使用游戏内奖励编辑器,可以通过键入 /discord.admin
来访问加号按钮允许您添加奖励,每个物品在左侧都有自己的编辑和删除按钮。


如果您熟悉的话,第二种方式与 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”],
建议使用编辑器和验证器以避免格式问题
{
"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
}
}
暂无评论内容