来源:本站时间:2025-07-23 16:16:47
在现代软件开发中,实时跟踪代码更新变得尤为重要。GitHub作为一个流行的代码托管平台,而Telegram则是一个即时通讯应用,两者结合可以让你在代码有更新时立即收到通知。以下是一个简单的指南,教你如何将GitHub上的代码更新自动推送至Telegram。
首先,你需要准备以下工具和软件:
1. GitHub账户
2. Telegram账户
3. 一个可以运行在本地或云端的Node.js环境
#步骤一:创建GitHub Webhook
1. 登录你的GitHub账户,进入你想要设置Webhook的仓库。
2. 点击“Settings”按钮,然后选择“Webhooks”。
3. 点击“Add webhook”按钮,然后填写一个钩子URL。这个URL将会是Telegram Bot的命令行接口,格式如下:`https://api.telegram.org/bot<你的TelegramBotToken>/sendMessage`
4. 在“Payload URL”中填写上述格式,并在“Content type”中选择“application/json”。
5. 设置触发事件,例如选择“Push events”。
6. 点击“Add webhook”。
#步骤二:创建Telegram Bot
1. 打开Telegram,搜索“@BotFather”并添加它。
2. 使用BotFather创建一个新的Bot,并获取你的Bot Token。
3. 回到Telegram,搜索并添加“@SendBot”。
4. 使用BotFather提供的Token,向“@SendBot”发送一个命令,如`/setapihash <你的API Hash>`,其中`<你的API Hash>`是“@SendBot”提供的API Hash值。
#步骤三:编写Node.js脚本
1. 在本地创建一个新的Node.js项目,并安装必要的依赖,如`axios`和`dotenv`。
2. 创建一个`.env`文件,在其中添加你的Telegram Bot Token和API Hash。
3. 编写一个Node.js脚本,用于监听GitHub Webhook事件,并在有新代码提交时向Telegram发送消息。
```javascript
require('dotenv').config();
const axios = require('axios');
const webhookUrl = process.env.GITHUB_WEBHOOK_URL;
const botToken = process.env.TELEGRAM_BOT_TOKEN;
const apiHash = process.env.TELEGRAM_API_HASH;
const handleWebhook = async (webhookData) => {
const message = `New commit on GitHub: ${webhookData.repository.full_name}`;
const response = await axios.post(`https://api.telegram.org/bot${botToken}/sendMessage`, {
chat_id: 'YOUR_TELEGRAM_CHAT_ID',
text: message,
parse_mode: 'Markdown'
});
console.log(response.data);
};
axios.get(webhookUrl).then(response => {
response.data.forEach(data => {
handleWebhook(data);
});
}).catch(error => {
console.error(error);
});
```
#步骤四:部署脚本
1. 将你的Node.js脚本部署到云端或本地服务器。
2. 确保服务器上安装了Node.js环境。
3. 运行你的脚本,使其能够持续监听GitHub Webhook事件。
通过以上步骤,你就可以将GitHub上的代码更新实时推送至Telegram了。这样,无论何时何地,你都可以第一时间了解到代码的变化。