Skip to content

Commit

Permalink
优化功能&修复bug
Browse files Browse the repository at this point in the history
  • Loading branch information
z-mio committed May 22, 2024
1 parent 8c9c7fd commit 3f4e0f6
Show file tree
Hide file tree
Showing 56 changed files with 2,489 additions and 1,545 deletions.
115 changes: 59 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Telegram-AList bot

[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=alist-org&repo=alist)](https://github.com/alist-org/alist)
[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=alist-org&repo=alist)](https://github.com/alist-org/alist)

**主要功能:**

Expand All @@ -23,13 +23,14 @@
- [x] 自动管理存储
- [x] 自动切换节点
- [x] cf账号管理
- [x] 代理负载均衡
- [x] 存储随机节点
- [x] 存储统一节点
- [x] Alist配置备份&定时备份
- [x] Alist图床
- [x] 随机推荐
- [x] 离线下载



### 功能预览&说明:

<details>
Expand Down Expand Up @@ -99,16 +100,16 @@
![新建&批量新建](https://img.155155155.xyz/2023/12/1703836713207.png)

**添加单个**

![新建&批量新建](https://img.155155155.xyz/2023/12/1703836862502.png)

**批量添加**
![新建&批量新建](https://img.155155155.xyz/2023/12/1703836915002.png)
![新建&批量新建](https://img.155155155.xyz/2023/12/1703836982303.png)
![新建&批量新建](https://img.155155155.xyz/2023/12/1703837216466.png)

![新建&批量新建](https://img.155155155.xyz/2023/12/1703836915002.png)

![新建&批量新建](https://img.155155155.xyz/2023/12/1703836982303.png)

![新建&批量新建](https://img.155155155.xyz/2023/12/1703837216466.png)


</details>
Expand All @@ -119,7 +120,7 @@

可以设置默认配置,新建存储会优先使用默认配置。所有参数都可以设置默认值

比如设置了PikPak的`用户名``密码`,新建的时候就不需要输入了,只需要输入`挂载路径``分享ID`
比如设置了PikPak的`用户名``密码`,新建的时候就不需要输入了,只需要输入`挂载路径``分享ID`

![默认配置](https://img.155155155.xyz/2023/12/1703837264493.png)

Expand All @@ -143,15 +144,17 @@
**每日流量统计**:每天定时发送当天使用的流量
**自动管理存储**:检测到节点掉线,会自动关闭存储,节点恢复后自动开启存储
**自动切换节点**:检测到节点掉线,会自动切换其他未使用的可用节点,每天早上8点自动恢复原来的节点
**节点负载均衡(推荐)**:用户下载时会自动重定向到可用下载节点

如果`自动管理存储``自动切换节点`同时启用,那么当节点失效时会优先切换节点,如果节点全部不可用,才会关闭存储

注:添加cf账号默认使用第一个域名的第一个Workers路由
**如果你cf账号里面有多个域名,域名下面有多个Workers路由,建议手动添加账号**
**如果你cf账号里面有多个域名,域名下面有多个Workers路由,建议手动添加账号**

<details>
<summary><b> 手动添加账号</b></summary>

打开`cloudflare_cfg.yaml`配置文件,将账号添加到`node`列表,格式如下:
打开`cloudflare_cfg.yaml`配置文件,将账号添加到`node`列表,格式如下:

``` yaml
node:
Expand All @@ -172,7 +175,7 @@ node:

**email:cf账号的邮箱**
**global_api_key:`cf主页` --> `右上角头像` --> `我的个人资料` --> `API 令牌` --> `Global API Key`**
**url:填workers路由里面添加的,用来做代理的域名就行,只填域名,不要加https和后面的/*,例:a.ziling.cf**
**url:填workers路由里面添加的,用来做代理的域名就行,只填域名,不要加https和后面的/*,例:a.ziling.cf**

</details>

Expand All @@ -185,17 +188,17 @@ node:
<details>
<summary><b> 随机推荐</b></summary>

该功能会随机发送一个资源,并支持自定义路径和关键词。
该功能会随机发送一个资源,并支持自定义路径和关键词。

**支持的命令**
**/sr**
随机推荐设置菜单
**/roll**
使用/roll命令,系统将从所有路径中随机选择一个资源并发送。
**/roll 关键词**
使用/roll命令后加上一个关键词,系统将从对应的路径中随机选择一个资源并发送。
使用/roll命令后加上一个关键词,系统将从对应的路径中随机选择一个资源并发送。

您可以自定义路径和关键词,以便根据需求发送不同的资源。每个关键词可以对应多个路径,如下:
您可以自定义路径和关键词,以便根据需求发送不同的资源。每个关键词可以对应多个路径,如下:

``` yaml
path:
Expand Down Expand Up @@ -224,36 +227,39 @@ path:
### 一、Docker 安装

**1.新建 bot 配置文件目录**

```shell
mkdir -p /root/alist-bot/config
```

**2.编写 `config.yaml` 放至你创建的路径下 `/root/alist-bot/config`**

```yaml
bot:
backup_time: '0'
search:
per_page: 5
z_url: false
user:
admin: 123456789 # 管理员用户id,可通过@get_id_bot获取id
member: [] # 允许使用bot的 用户、群组、频道(群组和频道id需要加上-100)可通过 https://t.me/getletbot 获取id。 留空为所有人可用
alist:
alist_host: http://127.0.0.1:5244 # alist ip:port或alist域名,一般填域名即可
alist_web: "https://" # 你的alist域名
alist_web: http://127.0.0.1:5244 # 你的alist域名
alist_token: "" # alist token
bot_token: "" # bot的api token,从 @BotFather 获取
api_id: "" # api_id、api_hash在 https://my.telegram.org/apps 获取
api_hash: ""
user:
admin: # 管理员用户id,可通过 https://t.me/getletbot 获取id
member: [ ] # 允许使用bot的 用户、群组、频道(群组和频道id需要加上-100)可通过 https://t.me/getletbot 获取id。 留空为所有人可用
bot_token: # bot的api token,从 @BotFather 获取
api_id: # api_id、api_hash在 https://my.telegram.org/apps 获取
api_hash:
proxy:
scheme: # 支持“socks4”、“socks5”和“http”,不填则不使用代理,例:http
hostname: #例:127.0.0.1
port: #例:7890
scheme: http
hostname: 127.0.0.1
port: 7890
backup_time: '0'
```

**3.拉取镜像运行即可**

```shell
docker run -d \
--name alist-bot \
--restart=always \
-v /root/alist-bot/config/config.yaml:/usr/src/app/config/config.yaml \
-v /root/alist-bot/config.yaml:/usr/src/app/config.yaml \
-p 3214:3214 \
ghcr.io/z-mio/alist-bot:latest
```

Expand All @@ -265,33 +271,30 @@ docker run -d \
apt install python3-pip
```
**2.将项目克隆到本地**
```
git clone https://github.com/z-mio/Alist-bot.git && cd Alist-bot && pip3 install -r requirements.txt
```
**3.修改 config.yaml 里的配置信息**
``` yaml
bot:
backup_time: '0'
search:
per_page: 5
z_url: false
user:
admin: 123456789 # 管理员用户id,可通过@get_id_bot获取id
member: [] # 允许使用bot的 用户、群组、频道(群组和频道id需要加上-100)可通过 https://t.me/getletbot 获取id。 留空为所有人可用
```yaml
alist:
alist_host: http://127.0.0.1:5244 # alist ip:port或alist域名,一般填域名即可
alist_web: "https://" # 你的alist域名
alist_web: http://127.0.0.1:5244 # 你的alist域名
alist_token: "" # alist token
bot_token: "" # bot的api token,从 @BotFather 获取
api_id: "" # api_id、api_hash在 https://my.telegram.org/apps 获取
api_hash: ""
user:
admin: # 管理员用户id,可通过 https://t.me/getletbot 获取id
member: [ ] # 允许使用bot的 用户、群组、频道(群组和频道id需要加上-100)可通过 https://t.me/getletbot 获取id。 留空为所有人可用
bot_token: # bot的api token,从 @BotFather 获取
api_id: # api_id、api_hash在 https://my.telegram.org/apps 获取
api_hash:
proxy:
scheme: # 支持“socks4”、“socks5”和“http”,不填则不使用代理,例:http
hostname: #例:127.0.0.1
port: #例:7890
scheme: http
hostname: 127.0.0.1
port: 7890
backup_time: '0'
```

**4.启动bot**
Expand All @@ -302,10 +305,10 @@ proxy:
python3 bot.py
```


**设置开机自启**

以下是一整条命令,一起复制到SSH客户端运行

```
cat > /etc/systemd/system/alist-bot.service <<EOF
[Unit]
Expand All @@ -324,20 +327,19 @@ WantedBy=multi-user.target
EOF
```

然后,执行 `systemctl daemon-reload` 重载配置,现在你可以使用这些命令来管理程序:

然后,执行 `systemctl daemon-reload` 重载配置,现在你可以使用这些命令来管理程序:

启动:`systemctl start alist-bot`
停止:`systemctl stop alist-bot`
开启开机自启:`systemctl enable alist-bot`
关闭开机自启:`systemctl disable alist-bot`
重启:`systemctl restart alist-bot`
状态:`systemctl status alist-bot`
状态:`systemctl status alist-bot`

## 开始使用

私聊或群组里发送指令
第一次使用可以发送`/menu`自动设置Bot菜单
第一次使用可以发送`/menu`自动设置Bot菜单

**指令列表:**

Expand All @@ -357,6 +359,7 @@ EOF
/sbt - 设置定时备份
/sr - 随机推荐设置
/od - 离线下载
/dt - 设置搜索结果定时删除
/help - 查看帮助
```

Expand Down
Loading

0 comments on commit 3f4e0f6

Please sign in to comment.