Skip to content

让 GitHub 与 discord 联动

由于 GitHub 和 discord 都支持 webhooks,所以我们可以通过 webhooks 来让 GitHub 与 discord 联动,提供更加丰富的互动效果

1. 第一种方式: 使用 discord 自身支持的 webhooks(功能自定义,更加灵活)

1.1 在 discord 的服务器频道里创建新的 webhooks

在服务器的设置中,找到整合选项中的 webhook 并创建一个新的 Webhook

警告

注意:请勿将此 URL 泄露给任何人。任何人或服务都可以向此频道发布消息,甚至不需要在服务器中。确保安全!

设置合适的名字, 选择合适的频道, 然后点击复制 webhook URL 按钮

1.2 在 GitHub 仓库配置 webhook

在需要的仓库里进入设置页,打开 webhook 配置页面

按照下图指示配置 webhook:

事件返回的选择看自己需求,如果只是提醒推送完成,选择第一项即可, 如果需要灵活的返回信息, 可以选择第三项自定义配置,这里不再赘述

1.3 测试 webhook

本地仓库 git push 一次, 然后查看 discord 服务器里是否有推送信息

2. 第二种方式: 使用 discord 社区的机器人(操作简单,实现基本功能)

在 discord 有很多各种功能的机器人, 为实现我们的需求, 这里选择了MyRepoBot机器人

2.1 安装机器人

在服务器设置里 点击侧边栏的App目录(后续可能因版本升级而换名,请留意),进入搜索页,输入 MyRepoBot 进行机器人安装

令人遗憾的是 这个机器人是老外写的 语言只支持英文

2.2 配置机器人

在频道中聊天框里输入斜杠后 会自动提示命令 选择watch,机器人会返回如下信息:

第一步: 选择添加订阅(就是添加仓库)

第二步: 选择添加方式, 这里选择第二项 通过 webhook 的方式添加, 第一项是通过设置账号的 token 的方式添加, 步骤较为繁琐, 而且权限过高, 不推荐使用

第三步: 选择仓库平台,这里选择你仓库所在的平台, 我选择 github

第四步: 复制机器人给你的Payload URL,填写至 GitHub 仓库设置中的 webhook 里

提示

这里机器人提供给的 Url 在填写到 GitHub 中的时候, 和第一种方法不同, 不需要在结尾处添加/github

保存后, 可以在本地 push 代码到仓库, 查看机器人是否在频道发送消息

机器人配置成功!