这篇教程记录了如何把一个监控 币安 Alpha 空投/公告信息 的 Python 脚本,部署到 Linux 服务器上,并通过 Telegram Bot 实现消息推送。
一、项目目标
实现一个长期运行的监控脚本,定时从数据源抓取币安 Alpha 空投信息,并在以下场景推送到 Telegram:
- 发现新的 Alpha 空投项目时推送
- 项目信息补充了积分门槛时推送
- 每天早上推送“今日预告”
- 在活动开始前 20 分钟发送提醒
二、项目原理
脚本的核心逻辑很简单:
- 周期性请求接口:
https://alpha123.uk/api/data?fresh=1 - 读取返回的
airdrops数据 - 与上一轮缓存做对比
- 如果发现新增项目或状态变化,就发送 Telegram 消息
- 使用 APScheduler 定时执行轮询和提醒任务
三、准备环境
1. 服务器要求
建议使用 Linux 服务器,例如 Ubuntu / Debian。
需要安装:
- Python 3
- pip
- 虚拟环境 venv
2. 安装 Python 环境
apt update
apt install -y python3 python3-venv python3-pip
四、创建项目目录
mkdir -p ~/binance_alpha
cd ~/binance_alpha
创建虚拟环境并激活:
python3 -m venv venv
source venv/bin/activate
五、安装依赖
在项目目录中新建 requirements.txt:
requests
apscheduler
安装依赖:
pip install -r requirements.txt
六、创建 Telegram Bot
1. 找 BotFather 创建机器人
在 Telegram 搜索:
@BotFather
发送命令:
/newbot
按提示设置:
- bot 名称
- bot 用户名(必须以
bot结尾)
创建完成后,BotFather 会返回一个 Bot Token,格式类似:
1234567890:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这个 token 非常重要,相当于机器人的密码。
2. 获取自己的 chat_id
在 Telegram 搜索:
@userinfobot
发送命令:
/start
返回:
Id: 185xxxxxx
其中这个数字:
185xxxxxx
就是你的 chat_id。
七、项目文件结构
最终目录结构如下:
binance_alpha/
├── main.py
├── msg_handler.py
├── requirements.txt
└── run.log
八、完整代码
项目地址:https://github.com/K1314047/binance_alpha/tree/main
九、运行测试
在项目目录中运行:
python main.py
如果正常,会看到类似输出:
✅ 获取空投数据成功
✅ 空投监测系统已启动(Telegram 推送版)
✅ Alpha 空投监控已启动
✅ Telegram 推送成功
同时 Telegram 也会收到一条启动提示消息。
停止运行按:
Ctrl + C
停止时会收到:
⏹ Alpha 空投监控已停止
十、后台运行
如果希望脚本退出终端后仍然继续运行,可以使用 nohup。
启动后台运行
nohup python main.py > run.log 2>&1 &
命令解释:
nohup:让程序不受终端关闭影响> run.log:把输出写入日志文件2>&1:把错误输出也写入日志&:放到后台执行
启动后,终端可能显示:
[1] 32452
其中 32452 是进程号。
查看日志
tail -f run.log
如果看到类似输出,说明程序在正常工作:
✅ 获取空投数据成功
✅ 空投监测系统已启动(Telegram 推送版)
✅ Telegram 推送成功
查看进程是否还在运行
ps -ef | grep "python main.py"
或者:
ps -p 32452 -o pid,cmd
如果还能看到 python main.py,就说明后台任务仍在运行。
停止后台运行
正常停止:
kill 32452
强制停止:
kill -9 32452
十一、安全建议
1. 不要把 Bot Token 明文公开
Bot Token 一旦泄露,别人就可以控制你的机器人。
建议:
- 不要上传到公开 GitHub
- 不要发在群聊或论坛
- 最好使用环境变量保存
2. 更推荐使用环境变量保存 token
例如把 msg_handler.py 改成:
import os
import requests
class msg_handler:
TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN", "")
TELEGRAM_CHAT_ID = os.getenv("TELEGRAM_CHAT_ID", "")
运行前先设置:
export TELEGRAM_BOT_TOKEN="你的真实token"
export TELEGRAM_CHAT_ID="1859193713"
python main.py
这样更安全。
十二、最终部署步骤速查版
第一步:进入项目目录
cd ~/binance_alpha
source venv/bin/activate
第二步:安装依赖
pip install -r requirements.txt
第三步:运行测试
python main.py
第四步:确认 Telegram 能收到启动消息
收到后按 Ctrl + C 停止。
第五步:后台运行
nohup python main.py > run.log 2>&1 &
第六步:查看日志
tail -f run.log
第七步:确认进程仍在
ps -ef | grep "python main.py"
十三、总结
这个项目本质上是一个轻量级的定时监控脚本,核心功能已经够用:
- 自动抓取币安 Alpha 空投信息
- 自动比较更新
- 自动推送到 Telegram
- 支持每日预告和活动提醒
如果只是个人使用,当前方案已经足够。 如果后续要长期稳定运行,建议继续升级成:
- 环境变量保存密钥
systemd开机自启- 日志轮转
- 请求失败重试