简介
Xor 是一个基于 Deno + Grm + TypeScript 的 Telegram 人形自走机器人(和 PagerMaid 类似,只是语言、框架不同),可以登录 Telegram 账号协助号主完成各项操作。
Grm 是 Xor 作者基于 Gram.js 做的移植版本,支持 Deno。
部署流程
准备环境
Deno
首先安装 Deno,这是 Node.js 之父的新项目,旨在解决 Node.js 的一些弊端。
Linux 和 macOS 可使用以下方式:
curl -fsSL https://deno.land/x/install/install.sh | sh
Tip 1:
安装后根据脚本的提示,将 Deno 添加至环境变量。(此处以本人为例)export DENO_INSTALL="/root/.deno" export PATH="$DENO_INSTALL/bin:$PATH"
Tip 2:
CentOS 7 用户可能会遇到报错:version 'GLIBC_2.18’ not found
可将 CentOS 升级到更高的大版本解决,也可以手动编译安装 glibc 2.18:wget https://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar -zxvf glibc-2.18.tar.gz cd glibc-2.18 && mkdir build cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make && make install
Windows 可使用 Chocolately 安装:
choco install deno
安装完后输入 deno --version
检查安装是否成功
> deno --version
deno 1.26.2 (release, x86_64-unknown-linux-gnu)
v8 10.7.193.16
typescript 4.8.3
配置 Xor
-
创建
.env
文件,填写以下内容:APP_ID= APP_HASH= STRING_SESSION=
-
登录 https://my.telegram.org ,获取 API ID 和 API Hash,分别填写到上一步的第 1、2 行;
-
运行以下脚本,获取 String session(拥有它即可登录您的账号,请妥善保管此值)
deno run --allow-env --allow-net https://ghc.deno.dev/xorgram/session@main/main.ts
过程中会要求输入 API ID、API Hash、手机号(带国家代码,如
8613812345678
)、验证码和二步验证密码(如果有)。获取完毕后,会将 string session 发送至 Telegram 账号的收藏夹,前往复制值,填到第一步的
STRING_SESSION
。如果你安装了 Node.js 和 NPM,也可以直接运行
npx tgsession
,获取过程同上。 -
在包含
.env
的目录下运行:wget https://raw.githubusercontent.com/xorgram/xor/main/scripts/start.sh chmod +x start.sh ./start.sh
Xor 应该就能启动了。
进程守护
可以用 PM2 进行进程守护,要安装 Node.js 和 NPM。
npm i -g pm2
pm2 start --name xor "./start.sh"
使用 Xor
不知为何,Xor 不会处理收藏夹里的消息,在其它聊天中才能正常识别命令,这一点和 PagerMaid 不同。
\ping
- 测试 Xor 是否在线
\modules
- 已安装的模块
\help <module_name>
- 查看模组帮助
\install <url>
从远程链接安装 Xor
\disable <module_name>
- 禁用模组
\enable <module_name>
- 启用模组
\uninstall <module_name>
- 卸载模组
一个模组可以用 CommandHandler
声明多个要处理的命令。
第三方的模组主要收录在 Xor Modules Directory。目前主要有 ban 人、批量删消息、查看 GitHub 用户信息等模组。
可以参考 这里 写自己的模组(Xor 目前名气不高,没什么人贡献,文档也不齐全,高阶的用法得看源代码或自己摸索)