1.TG方面准备

1.1 TG的Bot token和自己TG账号的ID(非账号和名称)

Bot token通过@BotFather获得,输入/newbot、输入机器人名称、输入机器人用户名(以*bot结束),成功,获得
Use this token to access the HTTP API:
12345678:**

1.2 TG ID,通过@get_id_bot得到

2.数据库方面

icopy 是需要数据库,强烈建议使用mlab提高的免费数据库,首先到mongodb注册个账号

2.1 注册完成后,会跳转到这页面,点选:free。

2.2 选择最靠近你安装bot的位置。比如选google cloud platform的lowa。

2.3 然后点 create cluster 。之后会需要等几分钟来创建完成。

2.4 创建完成后,点 CONNECT。

2.5 出现弹窗后设置ip白名单以及登录用的账户。

2.6 在ip位置哪里输入bot的ip或直接0.0.0.0/0 来允许全部ip连截。并在下面创建新用户和密码设置 (账号密码不能带有标点符号),记住你设置的账号等会在配置conf.toml会需要。

2.7 选第二个connect your application连接方式

2.8 然后选择python和 3.6 or later

2.9 数据库链接地址,链接里的更换成数据库名字,默认是Cluster0。下面是示范的链接

cluster0.jwx8e.gcp.mongodb.net/Cluster0?retryWrites=true&w=majority

3.fclone方面

3.1 首先 先用脚本安装fclone。

bash <(wget -qO- https://git.io/JJYE0)

3.2 fclone config show 检查remote配置有没有service_account_file和service_account_file_path。

如果没有,请 fclone config 配置, 或直接打开 /root/.config/rclone/rclone.conf 然后添加下面的模板。

[gc]
type = drive
scope = drive
service_account_file = /root/accounts/1.json
service_account_file_path = /root/accounts/

第一行 [gc] 是remote的名字,你可以修改成任何名字。但改了后conf.toml也需要跟着更改。
第四行 service_account_file 是指定你其中一个sa。
第五行 service_account_file_path 是你sa文件夹的路径。注意后面必须要有 / 斜杠。

4.iCopy方面

4.1 git clone icopy最新版本克隆下来

git clone https://github.com/fxxkrlab/iCopy.git && cd iCopy

4.2 设置权限

chmod +x iCopy.py

4.3 安装需要的模块

pip3 install -r requirements.txt

4.4 复制一份配置文件

cp iCopy/config/conf.toml.example iCopy/config/conf.toml

4.3 修改配置文件

Edit config/conf.toml

配置文件
配置文件

修改后配置文件
修改后配置文件

启动脚本

python3 iCopy.py

screen方式启动

screen -dmS iCopy `which python3` iCopy.py

(yum install screen 或 apt-get install screen安装)

cd /iCopy && screen -dmS iCopy `which python3` iCopy.py

screen删除会话

screen -X -S [session # you want to kill] quit
[root@localhost ~]# screen -ls
There are screens on:
9975.pts-0.localhost (Detached)
4588.pts-3.localhost (Detached)
2 Sockets in /var/run/screen/S-root.
[root@localhost ~]# screen -X -S 4588 quit
[root@localhost ~]# screen -ls
There is a screen on:
9975.pts-0.localhost (Detached)
1 Socket in /var/run/screen/S-root.

可以看到,4588会话已经没有了。

升级更新:

git pull

命令列表:
/menu copy或quick模式选择
/set rule 显示添加目标id规则
/set quick + 目标id(可以是盘/文件夹id)
/set fav + 目标id(可以是盘/文件夹id) (这是设置收藏夹id,可以设置多个目标id。设置好第一个,会返回成功,之后再/set fav + 来添加第二个)
/set list 显示已添加的收藏夹
/set purge 清除所有在收藏夹的目标 id
/kill 取消正在复制的任务,/kill size,/kill purge,/kill dedupe
/cancel 取消当前选择
/task 显示正在复制的任务,/task list 显示全部等待复制的任务
/size 测量文件夹ID 总大小和数量。/size fav
/reset 重置任务状态
/restart 重启bot

看fclone 的日志
/root/icopy_cloner_debug.log

根命令列表:
botfather——/——setcommands——选择你的机器人——粘贴以下命令
(botfather只支持根命令不支持子命令设置)

menu - 选择模式
quick - 快速模式
copy - 完整模式
set - 自定义设置
task - 任务查询
cancel - 取消对话
kill - 杀死进程中任务
size - 统计信息
ver - 检查iCopy版本
reset - 重置任务
restart - 重新启动iCopy

子命令列表:
set - 自定义设置
┖ set - 支持批量设置
┖ set rule - 查看规则
┖ set fav|quick +/- id - 单条收藏夹设置
task - 任务查询
┖ task - 当前任务查询
┖ task list - 未来10条任务查询】

如何设置服务器重启时脚本自动开启:
crontab -e或systemd 启动服务