V2Board 高级TG机器人部署搭建教程
一、前言
一个简单的项目,让 V2Board Telegram Bot 支持更丰富的功能。 快速反馈群:点击加入
二、环境要求
Python 版本需求 >= 3.8
三、功能说明
- 基于MySQl,支持以SSH方式登录
- 自动删除群聊中信息
- 自动推送订单、工单给管理
- 每日自动推送数据统计
- 支持Bot内绑定、解绑
- 支持获取用户信息、订阅、邀请
- 支持获取套餐并生成购买按钮
四、支持指令
指令 | 参数 | 描述 |
---|---|---|
ping | 无 | 获取聊天的ID |
bind | 邮箱 密码 | 绑定该邮箱到Telegram |
unbind | 邮箱 密码 | 解绑该邮箱的Telegram |
mysub | 无 | 获取该账号的订阅链接 |
myinfo | 无 | 获取该账号的订阅信息 |
myusage | 无 | 获取该账号的流量明细 |
myinvite | 无 | 获取该账号的邀请信息 |
buyplan | 无 | 获取购买套餐链接 |
website | 无 | 获取网站链接 |
五、申请 Telegram Bot Token
- 私聊 https://t.me/BotFather
- 输入 /newbot,并为你的bot起一个响亮的名字
- 接着为你的 bot 设置一个 username ,但是一定要以bot结尾,例如:v2board_bot
- 最后你就能得到 bot 的 token 了,看起来应该像这样:123456789:gaefadklwdqojdoiqwjdiwqdo
六、常规部署
1. 环境准备
1.1 安装 pip3 的包管理
Centos 系统
Debian10 系统
2. 安装
# 如果你没有git的话
# apt install git
# yum -y install git
git clone https://github.com/DyAxy/V2Board_Python_Bot.git
# 进程常驻可参考 screen 或 nohup
# 你需要安装好 pip3 的包管理
cd V2Board_Python_Bot
pip3 install -r requirements.txt
cp config.yaml.example config.yaml
vi config.yaml
# 编辑 line 2 为你的V2Board地址,最后请不要加 / 符号
# 编辑 line 3 为你的Bot Token
# 编辑 line 4、5 为你的ID和群ID,通过 /ping 获取
# 编辑 line 8~12 为你的MySQL连接信息
# 编辑 line 14 如果你需要SSH连接数据库 则为true
# 编辑 line 15~24 为你的SSH连接信息
python3 bot.py
七、Docker部署
1.安装Docker
Centos/Ubuntu Docker安装教程及常用命令,使用Alinux3搭建部署Docker报错
Centos Docker安装教程,使用Alinux3搭建部署docker报错,repo 'docker-ce-stable' 下载元数据失败…
2.部署容器
2.1 通过docker run部署
2.1.1 下载配置文件到你喜欢的位置
curl -JL https://github.com/DyAxy/V2Board_Python_Bot/raw/master/config.yaml.example -o config.yaml
2.1.2 按自己的情况修改config.yaml
vi config.yaml
# 编辑 line 2 为你的V2Board地址,最后请不要加 / 符号
# 编辑 line 3 为你的Bot Token
# 编辑 line 4、5 为你的ID和群ID,通过 /ping 获取
# 编辑 line 8~12 为你的MySQL连接信息
# 编辑 line 14 如果你需要SSH连接数据库 则为true
# 编辑 line 15~24 为你的SSH连接信息
2.1.3-A 运行容器(不使用SSH密钥)
docker run -d --name v2bpybot -v ./config.yaml:/V2Board_Python_Bot/config.yaml moefaq/v2board_python_bot-docker:latest
2.1.3-B 运行容器(使用SSH密钥)
docker run -d --name v2bpybot -v ./config.yaml:/V2Board_Python_Bot/config.yaml \
-v ./private.key:/V2Board_Python_Bot/private.key moefaq/v2board_python_bot-docker:latest
2.2 通过docker-compose部署
2.2.1 安装docker-compose
curl -fsSL https://get.docker.com | bash -s docker
curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2.2.2 下载配置文件及compose文件
curl -JL https://github.com/DyAxy/V2Board_Python_Bot/raw/master/config.yaml.example -o config.yaml
curl -JL https://github.com/DyAxy/V2Board_Python_Bot/raw/master/docker-compose.yaml.example -o docker-compose.yaml
2.2.3 按自己的情况修改config.yaml
vi config.yaml
# 编辑 line 2 为你的V2Board地址,最后请不要加 / 符号
# 编辑 line 3 为你的Bot Token
# 编辑 line 4、5 为你的ID和群ID,通过 /ping 获取
# 编辑 line 8~12 为你的MySQL连接信息
# 编辑 line 14 如果你需要SSH连接数据库 则为true
# 编辑 line 15~24 为你的SSH连接信息
2.2.4 修改docker-compose.yaml
#<V2Board_Python_Bot-docker_data>/config.yaml修改为config.yaml文件实际路径
- "<V2Board_Python_Bot-docker_data>/config.yaml:/V2Board_Python_Bot/config.yaml"
#<V2Board_Python_Bot-docker_data>/sshkey.pem修改为sshkey.pem文件实际路径, 不使用SSH密钥时删除该行
- "<V2Board_Python_Bot-docker_data>/sshkey.pem:/V2Board_Python_Bot/sshkey.pem"
2.2.5 运行容器
#bot目录下运行
docker-compose -f docker-compose.yaml -p v2bpybot up
2.3 参数说明
#容器名称设置为: v2bpybot
--name v2bpybot
#将配置文件config.yaml挂载至容器中
-v ./config.yaml:/V2Board_Python_Bot/config.yaml
<V2Board_Python_Bot-docker_data>/config.yaml:/V2Board_Python_Bot/config.yaml
#指定镜像, latest为镜像tag, 详见Image tag说明
moefaq/v2board_python_bot-docker:latest
#仅使用密钥连接数据库时使用, 将私钥挂载至容器中
-v ./private.key:/V2Board_Python_Bot/private.key
<V2Board_Python_Bot-docker_data>/sshkey.pem:/V2Board_Python_Bot/sshkey.pem
#指定compose文件
-f docker-compose.yaml
#指定project名称, 指定后容器名形如v2bpybot-bot-1
-p v2bpybot
2.4 后台常驻命令
详细功能:点击查看
nohup python3 /root/V2Board_Python_Bot/bot.py > python.log3 2>&1 &