ikakatoo's Blog.

在服务器上搭建开源的Telegram人形Bot

Word count: 1.3kReading time: 5 min
2023/12/22

写在前面

由于使用 docker 一键安装存在老是掉线等问题。咨询了几位大佬,建议使用手动安装。又基于 Python 包需要系统范围内安装,大佬推荐用 zhxy-CN 的方法,使用虚拟环境运行 Python 来安装 Pagermaid-Pyro 。这里写的比 zhxy-CN 写的更通俗一些,如有不妥欢迎指正。
由于一键安装脚本我多次测试,均出现问题,就不在占用文章中的篇幅。直接进入正题。

本教程基于 debian 系统,搭建 Pagermaid-Pyro ,其他系统请自行修改命令安装。理论上支持 AMD64 和 ARM 架构。
GitHub 开源地址:https://github.com/TeamPGM/PagerMaid-Pyro
GitLab 开源地址:https://gitlab.com/Xtao-Labs/PagerMaid-Pyro
官方网站:https://xtaolabs.com/
官方 Telegram 频道:@PagerMaid_Modify

在使用本项目时表示您已经同意本隐私协议并且允许我们以评估负载和修复代码的目的记录您 Bot 的在线状态和报错文件。除可能使用的信息之外,我们不会记录与收集任何信息。本项目代码完全遵循此隐私政策,您可以随时在此项目中审查我们的源代码。本项目无法承诺使用期间的行为不会被 Telegram 官方封禁,也无法承诺所有功能都能成功运行。所带来的损失或可能产生的任何责任由搭建者自行承担。

步骤1: 拉取项目

  1. 先更新 git ,否则之后可能出现无法更新的情况。
    1
    sudo apt install --upgrade git -y
  2. 拉取项目至 /var/lib/pgp 目录。
    1
    cd /var/lib && git clone https://github.com/TeamPGM/PagerMaid-Pyro.git pgp && cd pgp

步骤2: 安装软件包

  1. 更新 apt 包:
    1
    2
    sudo apt update && sudo apt upgrade -y
    sudo apt install python3-pip python3-venv imagemagick libwebp-dev neofetch libzbar-dev libxml2-dev libxslt-dev tesseract-ocr tesseract-ocr-all -y
    此处需要较长时间。
  2. 启用虚拟环境:
    1
    2
    python3 -m venv venv
    source venv/bin/activate
    可以看到代码行最前面多了(venv),表示启用成功。
  3. 更新pip:
    1
    python3 -m pip install --upgrade pip
  4. 安装 Python 依赖包:
    1
    pip3 install -r requirements.txt

步骤3: 申请api

申请 API 属于高危操作,特别是新注册的 Telegram 账号和使用 VoIP 语音号码注册的账号会加大封号概率,如被封号,可向客服申诉申请解封。同时请勿将 API 泄露给他人。

  1. 前往Telegram官网,登录后按提示填写信息,生成API。
  2. 复制保存 api_id 和 api_hash 。

步骤4: 修改配置文件

  1. 将配置文件 config.gen.yml 复制一份并且命名为 config.yml
    (此操作继续在虚拟环境中执行,如果退出了,执行 “cd /var/lib/pgp” 进入文件夹,并执行 “source venv/bin/activate“ 继续进入到虚拟环境)
    1
    cp config.gen.yml config.yml
  2. 修改 config.yml 文件
    1
    vim config.yml
    这里只需要用到vim的指令有:“i”进入到编辑模式,“esc”进入指令模式,编辑完保存“:wq”。更多 vim 指令请自行 google 教程。
  3. 在文件对应位置填入从官网申请的 api_id 和 api_hash 。编辑时不要删掉引号。

步骤5: 登录账号

此操作继续在虚拟环境中执行,如果退出了,执行 “cd /var/lib/pgp” 进入文件夹,并执行 “source venv/bin/activate“ 继续进入到虚拟环境。

  1. 运行 Pagermaid
    1
    python3 -m pagermaid
  2. 按照提示,填入完整的电话号码 (如:+18888888888,需要带上国际区号) ,回车。

    Telegram 会向其它已登录的客户端发送5位数字验证码

  3. 确认输入的号码,正确输入 “ y ” ,回车。
  4. 填入验证码,回车。
  5. 如有两步验证密码,再输入两步验证密码即可。
    1
    2
    3
    4
    5
    6
    7
    8
    Enter phone number or bot token:    # 填入手机号,带上国际区号
    Is "+18888888888" correct? (y/N): # 确认号码,正确输入 y
    The confirmation code has been sent via Telegram app
    Enter confirmation code: # 输入收到的验证码
    # 如果有两步验证,则会出现以下提示
    The two-step verification is enabled and a password is required
    Password hint: None
    Enter password (empty to recover): # 输入两步验证密码
    出现已启动提示,代表登录成功,可以去 Telegram 任意聊天发送 ,help 进行测试。

    其他客户端会推送是否为本人操作,记得点“是我本人”

步骤6: 进程守护及后台运行

  1. 按下 Ctrl 键和 C 键停止 Pagermaid-Pyro 运行。
  2. 如果你还处在 venv 环境,可以使用 “ deactivate ” 退出,但要在 /var/lib/pgp 目录下执行下方操作
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    cat <<'TEXT' > /etc/systemd/system/pgp.service
    [Unit]
    Description=PagerMaid-Pyro telegram utility daemon
    After=network.target

    [Install]
    WantedBy=multi-user.target

    [Service]
    Type=simple
    WorkingDirectory=/var/lib/pgp
    ExecStart=/var/lib/pgp/venv/bin/python3 -m pagermaid
    Restart=always
    TEXT
  3. 完成后启动程序:
    1
    systemctl start pgp
  4. 设置开机启动:
    1
    systemctl enable pgp
    至此,你的 Pagermaid-Pyro 安装好了。

步骤7: 插件安装

Pagermaid-Pyro 本省自带有一些插件,同时也支持插件扩充。在 TG 任意聊天窗口输入“ ,apt install <插件名> ” 即可安装;第三方/自制插件,发送插件 Python 文件至任意聊天,回复该文件并发送 “ ,apt install ” 即可安装。
更多插件,可在任意聊天窗口发送 “,help” 点击“插件列表”查看。

CATALOG
  1. 1. 写在前面
  2. 2. 步骤1: 拉取项目
  3. 3. 步骤2: 安装软件包
  4. 4. 步骤3: 申请api
  5. 5. 步骤4: 修改配置文件
  6. 6. 步骤5: 登录账号
  7. 7. 步骤6: 进程守护及后台运行
  8. 8. 步骤7: 插件安装