帮助中心 · 面向航空公司管理人员
连接 Discord
本文说明如何把你航空公司的动态发到 Discord 频道,以及如何连接你的 Discord 服务器,让已关联的飞行员以飞行员编号作为昵称。

你需要 Discord 连接 权限(或者是所有者)。所有设置都在 管理 → 航空公司设置 → 设置 的 社区 标签页上,按设置顺序分五部分:Discord 服务器(连接、邀请链接、检查连接)、成员(昵称、角色、加入和离开)、角色(每个等级和枢纽对应哪个 Discord 角色)、帖子(什么内容发到哪里)和 管理日志。
把动态发到频道
这用的是 Discord webhook,不需要机器人也能用。
- 在 Discord 中,打开频道的 Edit Channel → Integrations → Webhooks → New Webhook,然后按 Copy Webhook URL。
- 在 Vaeroly 中,进入 管理 → 航空公司设置 → 设置 → 社区,滚动到 帖子。如果服务器已连接,先展开 改用 webhook。
- 把链接粘贴到 主 webhook URL。
- 在表格中,为要发布的内容勾选 开(每一类的 地点 保持 主 webhook):出发、到达、PIREP、等待审核的 PIREP(给管理人员)、等级晋升、新飞行员、奖章、新闻、新活动、活动提醒(提前一天和一小时,带报名按钮)、机场 NOTAM、新预订、每日摘要(午夜刚过) 和 每日管理摘要(午夜刚过,发给管理人员)。机场 NOTAM、新预订、等待审核的 PIREP、每日摘要、每日管理摘要 和 活动提醒 是较新的类型,你勾选之前一直关闭。
- 按 保存。
- 按 发送测试消息,然后查看频道。
到达和 PIREP
这是两种帖子:
- 到达:飞行员落地时的一条短帖,ACARS 一报告接地就发。它显示飞行员、航班号、到达机场、着陆率(已知时还有 G 值)以及实时地图链接。每个航班只发一次。手动提交或补录的航班从来没有报告过接地,所以没有到达帖。
- PIREP:已提交的 PIREP,包括机型、着陆、轮挡时间、积分和状态。需要审核的 PIREP 是 橙色,以 ⚠️ Needs review 开头,后面是被标记的原因。管理人员做出决定后,同一条帖子会更新:接受为 绿色,拒绝为 红色。
拆分之前勾选了 Arrivals and PIREPs 的航空公司,现在两项都已勾选,频道和角色不变。如果你为 PIREP 选了要提及的角色,只在 PIREP 需要审核时提及(默认开启)只会在 PIREP 等待决定时提及它。
如果每个航班两条帖子太多,在 帖子 中取消勾选 到达 的 开,然后按 保存:PIREP 帖子照常发出。再勾上就恢复到达帖。
要停止发布,清空 主 webhook URL 并按 保存。webhook 链接请保密:任何拿到它的人都能往那个频道发帖。
每类动态用不同的频道
设为 主 webhook 的内容都会发到 主 webhook URL 的频道(主频道),除非你给某类动态单独设置频道。例如 PIREP 发到 #pireps,晋升发到 #promotions,新闻发到 #announcements。
- 在 Discord 中,在另一个频道里创建 webhook 并复制它的 URL,方法同上。
- 在 帖子 表格中,在该动态的 地点 里选 自己的 webhook…。
- 把链接粘贴到下方出现的 自己的 webhook URL。
- 确认该动态已勾选,然后按 保存。
选 主 webhook 就会重新发到主频道。几类动态可以共用同一个 webhook。
只给部分飞行员看的 新闻(某个等级及以上,或某个枢纽)不会发布全文:频道里只有一条简短通知,说明是给谁看的,并附上到机组中心阅读的链接。
有自己频道的动态,即使 主 webhook URL 为空也会发布。所以你可以,比如,只把每周回顾发到一个频道。没勾选的动态哪里都不会发,即使它有自己的频道。
发送测试消息 会向你设置的每个频道各发一条测试消息,并逐一告诉你是否成功。频道按它对应的动态命名,从不显示链接。
如果 PIREP 帖子换了频道,管理人员对较早 PIREP 的决定就不会再更新它们的旧帖子。
https://discord.com/api/webhooks/ 开头。通过机器人发帖,并提及一个角色
服务器连接后(见下文),每类帖子都可以从列表中选一个频道,由机器人自己发布,不需要 webhook。每类帖子还可以提及一个角色,例如 NOTAM 提及 @Alerts,新活动提及 @Events。
- 在 帖子 表格中,在该类帖子的 地点 里选一个频道。列表只显示机器人能发帖的频道(它在那里需要 View Channel、Send Messages 和 Embed Links 权限)。
- 可以在 提及 列中选一个角色。
- 确认该类帖子已勾选,然后按 保存。
设置了机器人频道的帖子会发到那里,而不是它的 webhook。如果它还有自己的 webhook,那个 webhook 会保留,在机器人无法发帖时使用。提及在 webhook 帖子上也有效。
选定的角色是帖子唯一能提及的对象:帖子里的名字从不提及任何人,也从不使用 @everyone。在 Discord 中,请在该角色的设置里打开 Allow anyone to @mention this role,否则提及只会显示,不会通知。
表格底部 仅限管理人员 下的类型(等待审核的 PIREP 和 每日管理摘要)是给只有管理人员能看的频道用的。等待审核的 PIREP 在那里显示 ⏳ Waiting for review;管理人员做出决定后,同一条帖子会变成 ✅ Reviewed: accepted 或 ❌ Reviewed: rejected,并写明谁在什么时候审核的。由机器人发帖时(不是 webhook),它还会给帖子加一个表情回应:⏳ 等待中,✅ 已接受,❌ 已拒绝。机器人在那个频道需要 Add Reactions 和 Read Message History 权限。帖子从不显示飞行员的电子邮件地址或网络 ID。
Discord 中的帖子是英文的。
在 Discord 中接受和拒绝
机器人在频道中(机器人频道,不是 webhook)发布 等待审核的 PIREP 时,每条帖子都有 Accept 和 Reject 按钮。管理人员可以直接在那里决定 PIREP:
- Accept 立即接受。Reject 会先问原因:飞行员会看到这个原因,和在机组中心一样。
- 机器人私下回复(只有按按钮的人能看到),帖子变成 ✅ Reviewed: accepted 或 ❌ Reviewed: rejected,按钮随之消失。
- 飞行员会收到决定邮件和私信,和在机组中心做出的决定一样。这个决定会记在 活动日志 中,标注 (from Discord)。
只有可以审核该 PIREP 的管理人员才能使用这些按钮:他们的 Discord 账号必须关联到 Vaeroly(/link),并且对该飞行员的枢纽有 PIREP 审核 权限。自己的航班、副驾驶的副本,以及别人正在审核的 PIREP 都会被拒绝,和在机组中心一样。如果你的航空公司要求管理人员使用两步登录,按钮会在 Discord 中打开一个表单,先要验证器代码(或恢复代码)再做决定;还没设置两步登录的管理人员,设置好后在机组中心做决定。要去掉这些按钮,在 帖子 表格的 等待审核的 PIREP 下取消勾选 帖子上的“接受”和“拒绝”按钮(仅限机器人频道),然后按 保存。
活动提醒
在 帖子 表格中勾选 活动提醒(提前一天和一小时,带报名按钮),选好发到哪里,然后按 保存。你勾选之前它一直关闭。
- 活动前一天(或活动不到一天就开始时立即),频道会收到 📅 … starts tomorrow(或 today),写明开始时间、机场、已报名的飞行员人数和剩余的出发时段。
- 提前一小时,会收到 ⏰ … starts in an hour。
- 由机器人发布时,每条提醒都有一个 Sign up 按钮,打开机组中心上的这个活动。webhook 帖子则把链接写在帖子里。
- 改了时间的活动会再次提醒。提醒从不提到飞行员的名字。
在有这类帖子之前,开启了 Event reminders 功能的航空公司会在 新活动 里收到提前一小时的提醒。在这里勾选 活动提醒 之前,他们仍会这样收到;勾选之后,提醒只发到它自己的频道,不会发两次。
每日摘要
每日摘要 在午夜刚过时用数字概括昨天:航班数、小时数、飞得最多的飞行员和最轻的着陆(在排行榜上隐藏自己的飞行员不计入)。每日管理摘要 还加上等待审核的 PIREP、被拒绝的 PIREP、重着陆、等待中的申请和新的预订。
它们每天发一次,在 帖子 表格中 每日摘要 正下方设置的时区里午夜后的头几个小时发出(默认 UTC,也可以选别的,例如 Europe/London 或 Asia/Dubai)。航空公司没有其他时区设置,所以这个时区只决定摘要什么时候发出。
连接你的 Discord 服务器
连接服务器后,Vaeroly 机器人就能把已关联飞行员的昵称设为你航空公司的飞行员编号。
- 用 Discord 服务器 中的链接把 Vaeroly 机器人添加到你的服务器。如果没有链接,请向平台管理员索取。这个链接会请求以下权限:View Channels、Send Messages 和 Embed Links(用于在你选的频道发帖)、Manage Nicknames、Manage Roles 和 Create Invite,以及在 同时把他们移出 Discord 服务器 开启时的 Kick Members。在这些选项出现之前添加的机器人,需要重新打开链接才能获得新权限(Discord 会保留机器人的消息和角色)。
- 在你的服务器中输入
/setup。只有拥有 Discord 的 Manage Server 权限的成员才能使用。 - 按回复中的按钮。如有要求,登录 Vaeroly。
- 在 连接 Discord 服务器 页面上选择你的航空公司。
Discord 服务器 现在显示 已连接 和服务器名称。一个 Discord 服务器只属于一家航空公司。选择一家已有服务器的航空公司,会替换掉那个服务器。
/setup 按钮只在短时间内有效。如果过期了,请重新输入 /setup。让飞行员关联账号
飞行员在你的服务器中输入 /link 并按按钮。他们登录 Vaeroly 并确认后,昵称就会变成他们的飞行员编号。
为了更方便,可以在 #verify 之类的频道中输入 /linkpanel。机器人会发一条带 Link my account 按钮的消息,一直留在那里。
飞行员也可以在他们的 个人资料 页面关联 Discord。
昵称格式和角色
在 成员 中你可以设置:
- 昵称格式:必须包含
{code}(飞行员编号)。{name}是飞行员的名字。默认是{code} | {name}。Discord 最多允许 32 个字符,必要时会缩短名字。 - 已关联飞行员的角色(可选):机器人连接后,从列表中选择角色。带权限的角色不能选,因为每个已关联的飞行员都会得到这个角色。如果列表无法显示,可以改为粘贴角色的 ID:在 Discord 中进入 Server Settings → Roles,右键点击角色,选择 Copy Role ID。
按 保存。如果 成员 中的自动更新昵称开启(默认开启),已经关联的飞行员会在后台得到新昵称。否则请按 立即更新所有昵称。
要让昵称和角色生效,机器人的角色必须在 Server Settings → Roles 中排在飞行员角色之上。机器人永远不能给服务器所有者改名。
按等级分配角色
如果你的航空公司开启了 按等级分配 Discord 角色(在 管理 → 航空公司设置 → 可选功能 下),你可以在 管理 → 运行 → 等级 为每个等级选一个 Discord 角色。已关联的飞行员会得到他们当前等级的角色,晋升时随之变化。离开或被暂停的飞行员会失去航空公司的角色和飞行员编号昵称。机器人需要 Discord 的 Manage Roles 权限,它自己的角色必须在等级角色之上。
让机器人创建角色。 不必在 Discord 里创建角色再手动选择,你可以在 管理 → 运行 → 等级 的 与 Discord 同步角色 卡片中按 在 Discord 中创建并排列角色。你需要 等级 和 Discord 连接 权限。
- 预览会显示你的服务器中将发生什么:将要创建的角色(每个没有角色的等级一个,以等级命名)、已重命名、已移动 和保持不变的角色。此时还不会改变任何东西。
- 按 确认并应用到 Discord。机器人会先重新读取你的服务器。如果预览之后 Discord 里有变化,你会看到新的预览,需要再确认一次。
- 机器人创建缺少的角色,并把所有等级角色作为一个整体排在它自己的角色正下方,最高等级在最上面。你已经为某个等级选好的角色会保留,不会复制。已选但在 Discord 中被删除的角色会得到一个新角色。
- 之后,已关联的飞行员会在后台得到他们等级的角色。
第一次同步之后,你对等级的修改会自动跟到 Discord:重命名的等级会重命名它的角色,新等级会在正确位置得到角色,修改要求会重新排序角色。删除等级时,你可以选择把它的角色留在服务器里(默认)还是一起删除。每次同步都会记在 活动日志 中。
同一张卡片中的选项(在预览之后的下一次同步时生效):
- 管理人员角色:不要、一个 Staff 角色,或者每个管理角色一个(以其职称命名)。已关联的管理人员会得到这些角色,不再是管理人员时会失去它们。管理人员角色排在整组的最上面。
- 在成员列表中单独显示等级角色:Discord 会把成员按等级分组列出。
- 给每个角色用它等级的颜色:金色、银色或白色,取自等级徽章的颜色。
在做任何修改之前,机器人会检查它是否有 Manage Roles(或 Administrator),以及它自己的角色是否在每个等级角色之上。如果不是,它不做任何修改,并告诉你该修正什么,例如“把 Vaeroly 角色移到 Server Settings › Roles 中你的等级角色之上,然后再试一次。”如果你的服务器会超过 Discord 250 个角色的上限,它也会先停下。如果 Discord 中途打断,页面会列出哪些完成了,哪些没有。
机器人从不碰 @everyone、Discord 管理的角色(其他机器人、助推者角色、集成和关联角色)、在它之上的角色,以及不属于等级或管理人员的角色。它从不给角色任何权限:新角色没有权限,它只修改角色的名称、颜色和显示方式。每个角色能做什么,请你自己在 Discord 中设置。
角色映射、枢纽角色和单个飞行员的角色
已关联的飞行员会得到三种角色:已关联飞行员的角色(在 成员 中)、他们等级的角色(开启 按等级分配 Discord 角色 时)和他们枢纽的角色。机器人只授予为此选定的角色,从不按名字挑角色:名为“WZZ Captain”的 Discord 角色,在被选为 Captain 等级的角色之前,不会给你的机长们。
社区 标签页上的 角色 卡片把它们分成三个列表,每个都有自己的计数(全部已映射,或还有几个没有角色):
- 已关联飞行员的角色:在 成员 中选定的角色(在那里修改)。
- 等级角色:在 管理 → 运行 → 等级 为每个等级选定的角色。按等级分配 Discord 角色 关闭时,列表会说明。
- 枢纽角色:为每个枢纽选一个角色,然后按 保存枢纽角色。调到另一个枢纽的飞行员会得到新枢纽的角色,并失去旧的。
ACARS 测试员角色(在 成员 中,可选):被平台管理员标记为 ACARS 测试员的已关联飞行员会得到这个角色,标记取消或他们离开时失去它。它只从 Vaeroly 同步到 Discord:在 Discord 中给某人这个角色,不会在 Vaeroly 上解锁任何东西。
当某个 Discord 角色的名字像一个还没有角色的等级或枢纽时(忽略大小写、表情符号和你的 ICAO 代码之类的前缀,所以“WZZ Captain”或“🛫 captain”匹配 Captain,“EGGW Crew”匹配枢纽 EGGW),列表会建议它。等级列表或枢纽列表下的 使用匹配的角色 会一次性采用该列表的建议。然后在 成员 中按 立即重新同步,让已经关联的飞行员得到这些角色。
每个列表下,在 Discord 成员列表中单独显示这些角色 会在你按下时,为该列表中的每个角色打开 Discord 的“Display role members separately from online members”,只做一次;停止单独显示 则关闭它。只有该列表中已映射的角色会改变,列表会标出每个单独显示的角色。
要查看单个飞行员的角色,在 管理 → 飞行员 打开该飞行员,按 Discord 角色:检查和同步。页面会列出 Vaeroly 期望他们拥有的角色、他们实际拥有的、哪些无法授予以及原因(例如该角色在机器人角色之上)、没有为他们设置的角色,以及他们的昵称。立即同步 会马上给这个飞行员设置昵称和角色(每分钟一次)。
Vaeroly 不授予的角色,例如测试员或活动角色,永远不会被收回。
按等级开放频道
要让某个频道只对部分等级开放,请使用等级角色:
- 在 Discord 中,打开频道的 Edit Channel → Permissions。
- 在 Roles/Members 下选 @everyone,把 View Channel 关掉(红色 ✕)。
- 添加该等级的角色,把 View Channel 打开(绿色 ✓)。如果更高等级也应该能看到,把它们的角色也加上。
Vaeroly 自己从不修改你的频道。要检查设置,在 管理 → 运行 → 等级 的 Discord 区域中按 按等级检查频道。页面会列出每个等级角色能打开的频道。它会提醒所有人反正都能看到的等级频道,以及在机器人角色之上的等级角色(机器人无法把这些角色给飞行员)。它还会列出机器人看不到的频道。这对私密频道没问题,因为机器人只需要管理角色。
服务器中的机器人:加入、重新同步和健康检查
服务器连接后,加入相关设置和 立即重新同步 在 成员 中,检查连接 在 Discord 服务器 中,都在 管理 → 航空公司设置 → 设置 的 社区 标签页上。你需要 Discord 连接 权限。在 Discord 中,/resync 和 /healthcheck 需要 Discord 的 Manage Server(或 Administrator)权限;机器人每次都会自己检查。每条命令只对连接到输入该命令的服务器的航空公司有效。
已关联的飞行员加入时的角色
勾选 已关联的飞行员加入时授予角色 并按 保存(你打开之前它一直关闭)。有人加入你的服务器时:
- 你航空公司的已关联飞行员 会立即一次性得到飞行员编号昵称、已关联飞行员的角色和他们等级的角色。
- 已关联 Vaeroly 但不是你的飞行员的人 会收到一条简短的说明,附带申请加入你航空公司的链接。等待批准的申请人会被告知,批准后才会得到角色。
- 还没关联的人 会收到一条简短的说明,指向 Link my account 按钮(或
/link)。
说明发到哪里:
- 勾选了 把备注作为私信发送 时,机器人以私信发送。
- 否则,如果你选了加入通知频道,机器人会发到那里并提及该成员。列表只显示机器人能发帖的频道。
- 两者都没有时,不发说明。已关联的飞行员仍会得到角色。
每个加入并得到角色的飞行员都会记在 活动日志 中;如果你在 管理日志 中选了管理人员频道(见下文),也会发到那里。
通过私信发送 PIREP 决定
勾选 把 PIREP 决定作为私信发给飞行员 并按 保存(你打开之前它一直关闭)。当管理人员接受、拒绝或作废一个航班、修改决定,或者你航空公司的规则在提交时拒绝了一个航班,已关联的飞行员会收到机器人的私信,里面有决定、管理人员的备注和 PIREP 链接。私信使用飞行员的语言。
没有关联的飞行员,或者关闭了来自你服务器的私信的飞行员,不会收到。PIREP 页面和它的通知仍会显示决定;如果你的航空公司发送邮件,邮件也照常发出。
重新同步
立即重新同步(或在 Discord 中用 /resync)会恢复你服务器中每个已关联飞行员的昵称和角色,例如在有人手动改了角色之后。
- 勾选 试运行(只报告,不改变任何东西)(或输入
/resync dry_run:True),先看看会改变什么。 - 真正的重新同步每小时只能运行一次:所有航空公司共用 Vaeroly 机器人,而 Discord 会限制太频繁修改大量成员的机器人。在此之前,你会看到类似“Re-sync was run 12 minutes ago; try again in 48 minutes.”的提示。如果上次重新同步之后你改了角色映射(为已关联飞行员、某个等级或枢纽选择或匹配了角色),5 分钟后就可以再次运行。试运行每分钟可以运行一次。
- 要不等待就修正单个飞行员,在 管理 → 飞行员 打开他们,按 Discord 角色:检查和同步,再按 立即同步(每个飞行员每分钟一次)。
- 它在后台运行。在网站上,一两分钟后刷新页面就能看到报告。在 Discord 中,机器人完成后会回复报告。
报告会列出哪些人 已更改、哪些人本来就正确,以及哪些人无法更改和原因:不在服务器中、是服务器所有者(任何机器人都不能给他们改名)、他们最高的角色在机器人角色之上、某个等级角色在机器人角色之上(机器人不会动那个角色),或者机器人没有 Manage Nicknames 或 Manage Roles 权限。每次重新同步都会记在 活动日志 中;如果你选了管理人员频道,结果也会发到那里。
检查连接
检查连接(或在 Discord 中用 /healthcheck)按顺序检查:
- 机器人在线(Discord 接受它的令牌)。
- 你的服务器已连接,并且机器人是它的成员。
- 机器人有 Manage Roles 和 Manage Nicknames。
- 机器人的角色在每个等级角色之上,并且没有为等级选定的角色在 Discord 中被删除。
- 机器人能在加入通知频道、机器人消息的管理人员频道,以及 帖子 表格中选定的每个机器人频道发帖(View Channel、Send Messages 和 Embed Links)。
- 同时把他们移出 Discord 服务器 开启时,机器人有 Kick Members。
- 已关联的飞行员加入时授予角色 开启时,最近几分钟内收到过平台加入监听程序的信号。
- 上次成功同步是什么时候。
每个问题都会附上该怎么做,例如“把 Vaeroly 角色移到 Server Settings › Roles 中你的等级角色之上,然后再试一次。”
/ping
你服务器中的任何人都可以输入 /ping。机器人会回复“Pong!”,以及它的响应时间和这个服务器关联的航空公司。
一个服务器,一家航空公司
一个 Discord 服务器只属于一家航空公司,不能让几家航空公司共用一个服务器。那样需要一个服务器关联多家航空公司、每家航空公司各有一套角色、一种方式来说明 /resync 之类的命令针对哪家航空公司,还要一条规则来处理同时为几家航空公司飞行的飞行员的昵称。
管理日志和成员选项
管理日志 在你的服务器连接后出现;下面的其他选项在 成员 中。每次修改都会记在 活动日志 中。
机器人消息的管理人员频道
选一个频道(只有管理人员能看的),机器人会在那里发布它在你服务器中做了什么:它修改的昵称和角色、被移出服务器的飞行员、遇到的权限错误(例如缺少 Manage Nicknames)、立即更新所有昵称、角色同步和重新同步的结果、已关联飞行员加入服务器并得到角色,以及飞行员关联或取消关联 Discord。同时出现的几行会合成一条消息发送。选 无 即可停止。
昵称跟随名字和飞行员编号
开启自动更新昵称时,飞行员的名字或飞行员编号一变,昵称马上跟着变;新的 昵称格式 或新的航空公司 ICAO 代码之后也会更新(此时对每个已关联的飞行员分小批进行,并在 活动日志 中记一行)。昵称始终保留完整的飞行员编号;只缩短名字,以符合 Discord 32 个字符的限制。
飞行员离开时
当飞行员离开、被移出航空公司(在其飞行员页面按 移出航空公司)或删除账号时,机器人会收回航空公司的角色和他们的飞行员编号昵称。被暂停的飞行员也会失去这些角色,取消关联 Discord 或关联了另一个 Discord 账号的飞行员也一样。
勾选 同时把他们移出 Discord 服务器,也会把这些飞行员移出(踢出)你的服务器。默认关闭。
机器人从不移出服务器所有者、航空公司管理人员、拥有 Administrator、Manage Server、Kick Members 或 Ban Members 权限的成员,以及最高角色在机器人之上的成员。被暂停的飞行员从不会被移出。它需要 Kick Members 权限:没有这个权限时,它照常做清理,并在 活动日志 和管理人员频道中说明原因。每次移出(或没能移出的原因)都会记在 活动日志 中。
Discord 的限制
当 Discord 要求机器人放慢速度时,它会等待后再试。大批量操作(每个飞行员的昵称)在后台分小批进行,一家航空公司的问题从不会耽误另一家。
断开服务器
在 Discord 服务器 中按 断开服务器。通过 webhook 发到频道的帖子不受影响。