返回博客
Tutorial1 分钟阅读

FiveM Discord 机器人集成:连接服务器与聊天

正确连接 FiveM 与 Discord,了解身份组同步、Webhook 日志、白名单机器人,以及如何构建或选择可随服务器扩展的集成方案。

Agency Scripts

Agency Scripts 创始人兼首席开发者

为什么 Discord 集成很重要

Discord 是几乎所有 FiveM 社区的核心通信枢纽,使您的 Discord 服务器与 FiveM 游戏服务器之间的集成对于顺畅运行至关重要。Discord 集成支持自动角色同步,使拥有白名单角色的玩家可以连接,记录游戏内事件如玩家加入、击杀和封禁到 Discord 频道,以及实时状态更新显示玩家数量和服务器健康状况。配置良好的 Discord 机器人将您的社区管理从手动流程转变为全天候自动化系统。除了便利性,Discord 集成还作为安全层,允许您通过 Discord 角色验证玩家身份并管理访问控制,而不仅仅依赖游戏内系统。

设置 Discord Webhooks

最简单的Discord集成形式是webhooks,允许您的FiveM服务器向特定Discord频道发送消息,无需完整的机器人应用。您在Discord频道设置中创建webhook URL,然后在FiveM脚本中使用它发布格式化消息。webhooks非常适合日志系统,用于记录游戏内事件,如玩家连接、断开连接、管理员操作、购买和可疑活动。在服务器端Lua脚本中,您可以使用 PerformHttpRequest native 发送 POST 请求到你的 webhook URL,包含嵌入消息内容。使用 Discord 嵌入格式构建 webhook 消息,确保日志清晰易读,包含时间戳、玩家标识和颜色编码的严重级别,方便监控服务器活动。

构建 Discord 机器人

对于更高级的集成,您需要一个完整的Discord机器人,既能发送也能接收信息。Discord机器人可以响应社区成员的命令,查询玩家统计数据,处理白名单申请,甚至直接从Discord控制服务器功能,如重启或资源管理。使用discord.js(JavaScript)或discord.py(Python)构建机器人,并将其托管在与FiveM服务器相同的机器上或单独的VPS上。机器人通过共享数据库、您从FiveM资源公开的REST API或两系统间的直接HTTP请求与FiveM服务器通信。请确保机器人令牌安全,切勿在公共仓库或客户端代码中暴露。

白名单和角色同步

基于 Discord 的白名单是严肃角色扮演服务器最常见的访问控制方法。玩家必须加入您的 Discord 服务器并拥有特定角色,才能连接游戏服务器。资源如 badger_discordapi 或自定义解决方案实时检查连接玩家的 Discord 角色,并允许或拒绝访问。角色同步更进一步,实现 Discord 角色与游戏内权限的双向同步。当玩家在游戏内晋升为警察中士时,其 Discord 角色会自动更新。当管理员在 Discord 中分配白名单角色时,玩家下次连接游戏时即可获得访问权限。此集成显著减少管理负担,确保 Discord 社区结构与游戏内层级一致。

日志最佳实践

通过Discord实现有效日志记录是服务器管理和监督最有价值的工具之一。为不同日志类别创建专用Discord频道,如玩家连接、经济交易、管理员操作、战斗日志和举报。每条日志应包含玩家服务器ID、Discord ID、角色名和时间戳,方便调查时快速交叉核对事件。对Webhook调用实施速率限制,避免触发Discord API限制,导致Webhook被临时禁用。对于高频事件如车辆生成或库存操作,考虑将多个事件合并为单条Webhook消息定时发送,而非每个动作都触发Webhook。将详细日志存储于数据库作为主要记录,Discord作为便捷监控界面。

准备好开始了吗?

在我们的商店获取脚本,或加入 Discord 获取支持、更新以及新功能预告。