自建指南
所需
- 一个域名
- 一台可访问 Telegram 的服务器
- Linux 基础知识
创建 Telegrram Bot
点击 @BotFather,按步骤创建自己的 Bot 并获取 Token
创建 sqlite3 数据库
进入存放数据库文件的目录
bash
cd /opt
创建名为 pushbot.db 的数据库
bash
sqlite3 pushbot.db
创建数据库表
bash
sqlite> CREATE TABLE users (chatId int unique, chatToken text unique);
退出数据库命令行
bash
sqlite> .quit
使用 Docker 部署
需要替换 <TOKEN>
和 <DOMAIN>
的内容,以及数据库的路径。
docker-compose
yaml
version: '3.7'
services:
pushbot:
image: pupilcc/pushbot
container_name: pushbot
restart: unless-stopped
volumes:
# 创建好的数据库路径
- /opt/pushbot.db:/app/pushbot/pushbot.db
ports:
- "25701:25701"
environment:
# Bot Token
- BOT_TOKEN=<TOKEN>
# 自己的域名
- BOT_DOMAIN=<DOMAIN>
docker run
bash
docker run -d \
--name pushbot \
--restart unless-stopped \
-p 25701:25701 \
-e BOT_TOKEN=<TOKEN> \
-e BOT_DOMAIN=<DOMAIN> \
-v /opt/pushbot.db:/app/pushbot/pushbot.db \
pupilcc/pushbot
使用 Nginx 反向代理
在域名对应的 nginx 配置文件 443 端口处添加反向代理
# 反向代理 Docker 指定端口
location / {
proxy_pass http://127.0.0.1:25701;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
设置 WebHook
请将以下链接中的 {botToken}
替换为 Bot Token,{domian}
替换为自己设置的域名,替换好后在浏览器访问该链接。
https://api.telegram.org/bot{botToken}/setWebhook?url={domain}/webhook/{botToken}
提示如下信息,则代表设置成功,即可尽情享用。
json
{
"ok": true,
"result": true,
"description": "Webhook was set"
}