薄明かり ことばはそっと 目をひらく
wget https://gitlab.com/Xtao-Labs/pagermaid-modify/-/raw/master/install.sh -O install.sh && chmod +x install.sh && bash install.shwget https://raw.githubusercontent.com/TeamPGM/PagerMaid-Pyro/development/utils/install.sh -O install.sh && chmod +x install.sh && bash install.shwget https://raw.githubusercontent.com/TeamPGM/PagerMaid-Pyro/development/utils/docker.sh -O docker.sh && chmod +x docker.sh && bash docker.shsudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -Fsudo apt install --upgrade git -ysudo -i
cd /var/lib && git clone https://github.com/TeamPGM/PagerMaid-Pyro.git pagermaid-pyro && cd pagermaid-pyrosudo 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 -ypython3 -m venv venv
source venv/bin/activatepython3 -m pip install --upgrade pippip3 install -r requirements.txtsource venv/bin/activatecp config.gen.yml config.ymlvim config.ymlapi_id = 21724
api_hash = "3e0cb5efcd52300aec5994fdfc5bdc16"log: "False" # False 代表禁用,True 代表启用
log_chatid: "503691334" # 这里填写记录用的群组或频道IDproxy_addr: "" # socks5 代理地址
proxy_port: "" # socks5 代理端口
http_addr: "" # http 代理地址
http_port: "" # http 代理端口
mtp_addr: "" # mtp 代理地址
mtp_port: "" # mtp 代理端口
mtp_secret: "" # mtp 代理密钥qrcode_login: "False" # False 代表禁用,True 代表启用
web_login: "False"web_interface:
enable: "False" # False 代表禁用,True 代表启用
secret_key: "RANDOM_STRING_HERE" # 任意值,作为密码
host: "127.0.0.1"
port: "3333"
origins: ["*"]speed_test_path: ""python3 -m pagermaidEnter phone number or bot token: #此处填入手机号
Is "+18888888888" correct? (y/N): # 号码显示正确输入 y ,错误输入 n
The confirmation code has been sent via Telegram app
Enter confirmation code: # 此处输入 Telegram APP 中收到的验证码
The two-step verification is enabled and a password is required # 如果设置了两步验证,则会出现以下提示
Password hint: None
Enter password (empty to recover): # 此处输入两步验证密码cat <<'TEXT' > /etc/systemd/system/pagermaid-pyro.service
[Unit]
Description=PagerMaid-Pyro telegram utility daemon
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
WorkingDirectory=/var/lib/pagermaid-pyro
ExecStart=/var/lib/pagermaid-pyro/venv/bin/python3 -m pagermaid
Restart=always
TEXTsystemctl start pagermaid-pyrosystemctl enable pagermaid-pyrosystemctl status pagermaid-pyrosystemctl stop pagermaid-pyrogit_source: "https://gitlab.com/Xtao-Labs/PagerMaid_Plugins_Pyro/-/raw/v2/"sudo crontab -e
0 */4 * * * systemctl restart pagermaid-pyro
本教程基于 Ubuntu 20.04 系统,搭建 Pagermaid-Pyro ,其他系统请自行修改命令安装。理论上支持 AMD64 和 ARM 架构。 Windows 系统请参考 这篇文章 。
GitHub 开源地址:https://github.com/TeamPGM/PagerMaid-Pyro
GitLab 开源地址:https://gitlab.com/Xtao-Labs/PagerMaid-Pyro
官方网站:https://xtaolabs.com/
官方频道:@PagerMaid_Modify
Pagermaid 简介
PagerMaid 是一个开源的 Telegram 人形自走 Bot 方案,基于 Python 开发,功能强大而丰富,它通过响应账号通过其他客户端发出的命令来自动执行一系列任务,可以帮助你打造专属的便利功能。
隐私政策与免责声明
您在使用本项目代码时即表示您已经同意本隐私协议并且允许我们以评估负载和修复代码的目的记录您 Bot 的在线状态和报错文件。
除可能使用的信息之外,我们不会记录与收集任何信息。
本项目代码完全遵循此隐私政策,您可以随时在此项目中审查我们的源代码。
本项目无法承诺 Userbot 行为不会被 Telegram 官方滥权,也无法承诺所有功能能在自建项目上成功运行。
使用 Userbot 所带来的损失或可能产生的任何责任由搭建者自行承担。
Pagermaid-Pyro 和 Pagermaid-Modify 双版本
注:Pagermaid-Pyro 由于命令与旧版 Pagermaid-Modify 不同,故可以同时安装两个版本。
按照本教程的步骤会将 Pagermaid-Pyro 安装至 /var/lib/pagermaid-pyro 目录下。
这样可以实现双版本同时运行,同时也可以在不同目录同时搭建以实现一机多账号,例如:/var/lib/pagermaid-pyro1, /var/lib/pagermaid-pyro2, ...
Pagermaid-Modify 脚本安装
搭建 Pagermaid-Modify 可以使用下面的一键脚本,这里不展开讲。
使用该脚本会将 Pagermaid-Modify 安装至 /var/lib/pagermaid 目录下。
本文以 Pagermaid-Pyro 为主,Pagermaid-Modify 安装方法不在本文考虑范围内。都一键脚本了还要啥教程(
Pagermaid-Pyro 脚本安装
一键脚本:
使用该脚本会将 Pagermaid-Pyro 安装至 /var/lib/pagermaid 目录下。
Docker 版一键脚本:
Docker 版手动部署可以看这篇文章:人形自走 BOT PagerMaid 在 ARM 平台的搭建
使用 Docker 版同样可以实现一机多账号,新建多个容器即可,这里不展开讲。
环境要求
Ubuntu>=16.04 / Debian>=9 (AMD64/ARM64)(已在该环境下通过测试,系统低于此版本不代表无法安装)
Python>=3.8 (查询 Python 版本: Python3 -V)
如版本低于 3.8 请自行搜索教程更新 Python 版本。
搭建
开放端口
由于需要与 Telegram 服务器通信,首先开放服务器端口。
如果使用了云服务,请去控制台再次开放端口。 (这里使用的是 Microsoft Azure ,其他 IDC 请自行解决)
拉取项目
在拉取项目之前,首先更新 git ,避免之后因版本过低出现无法更新的情况。
拉取项目至 /var/lib/pagermaid-pyro 目录。
出现以下提示即可进入下一步。
安装软件包
软件包说明
以上软件包建议全部安装,不安装会影响部分功能的使用。
安装软件包过程中,请等待一段时间,安装完成后,继续进行以下操作。
可以看到命令行前面多了一个 (venv) ,即表示启用成功。
请确保以上命令输入时均处于虚拟环境中,即有 (venv) 标志。
若退出了虚拟环境,可以使用以下命令重新进入虚拟环境:
如果出现 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' 报错,请先检查当前目录是否为 /var/lib/pagermaid-pyro ,如果位于该目录仍然报错,请重新执行 拉取项目 步骤。
出现以下提示代表安装成功。
修改配置文件
此步骤为可选步骤,但仍然建议自行生成 API
执行以下命令,将配置文件 config.gen.yml 复制一份并且命名为 config.yml
修改 config.yml
不会使用 vim 的请自行查找教程,这里不提供。
在最新版本的 Pagermaid-Pyro 中添加了默认的 api_id 和 api_hash ,故下方生成 API Key与填写相关配置项为可选操作,但仍然建议自行生成 API 密钥。
配置文件中 api_id 和 api_hash 缺省则默认使用下方的 API Key。
在 Telegram 官网 ,登录后点击 API development tools ,按提示填写信息,生成 API Key。
申请 API 与搭建 UserBot 属于高危操作,特别是新注册的 Telegram 账号和使用 VoIP 语音号码注册的账号会加大封号概率,如被封号,请尽快向客服申诉申请解封。
生成后,只需要复制 api_id 和 api_hash 值并分别填入,编辑时请注意不要删掉引号。
按以上图片中格式填写即可。
代理配置按需填写即可。
config.yml 中其他字段暂不做说明,参考对应注释即可。
登录账号
请确保仍在虚拟环境中,即有 (venv) 标志,然后运行以下命令:
此步需要填入完整的电话号码 (eg:+18888888888,需要带上国际区号) 然后 Telegram 会向你的其他客户端发送验证码,少数用户会向手机号发送验证码,填入验证码后,回车,如有两步验证密码,则再输入两步验证密码即可。
出现已启动提示,代表登录成功,此时可以去 Telegram 任意聊天发送 ,help 进行测试。
如果在配置文件中启用了二维码登录,即配置了 qrcode_login: "True" ,可以进入手机版 菜单栏-Settings-Devices ,点击 Link Desktop Device ,扫描终端中显示的二维码即可登录。
受部分终端显示限制,二维码可能无法正常显示,可以下载运行目录下的 qrcode.png 文件扫码登录,或复制二维码下方以 tg://login?token= 开头的链接至任意聊天,点击后根据提示登录。
请注意保护好您已登录的 pagermaid.session (该文件在 Pagermaid 运行目录下) 。此文件可以登录账号,请不要分享给他人使用。
进程守护及后台运行
首先按下 Ctrl 键和 C 键停止运行
然后输入以下命令:
设置完成后启动程序:
设置为开机自启:
如果遇到问题,请使用下方命令查看输出以排除问题:
至此 Pagermaid-Pyro 搭建完成,enjoy ~
如需停止程序,使用以下命令即可:
插件安装
安装后只能使用自带功能,但 Pagermaid 支持通过插件扩充功能。
官方 GitHub 插件仓库:https://github.com/TeamPGM/PagerMaid_Plugins_Pyro
官方 GitLab 插件仓库:https://gitlab.com/Xtao-Labs/PagerMaid_Plugins_Pyro
请注意:新旧版本插件互不兼容
如上图,插件名即为文件夹名称,在任意聊天中发送 ,apt install <插件名> 即可安装。
如需安装第三方/自制插件,发送插件 Python 文件至任意聊天,然后回复该文件并发送 ,apt install 即可安装。
常见问题
插件相关
1.将 config.yml 中 git_source 修改为以下内容:
2.修改后使用 ,restart 命令或在终端中输入 systemctl restart pagermaid-pyro 使程序重启。
1.如您是直接在聊天中回复了一个插件文件并安装,可能安装的是旧版插件,新旧插件无法兼容。
2.重新安装插件。
3.使用 ,restart 命令或在终端中输入 systemctl restart pagermaid-pyro 使程序重启。
4.在终端中使用 systemctl status pagermaid-pyro 通过查看日志来排除故障。
5.检查 Python 版本是否为 Python 3.8 或更高版本。
6.在任意对话中发送 ,sh rm -rf ./plugins/* 删除全部插件,然后重新安装插件。
7.重新搭建 PagerMaid-Pyro 。
使用相关
请重新执行上文 进程守护及后台运行 操作。
请使用 cron 等工具配置定时重启任务,如每4小时重启一次
以上问题请先自行操作解决,如仍然不能解决,请前往 PagerMaid 群组 反馈。