代码拉取完成,页面将自动刷新
#!/bin/bash
cd /root/Yunzai-Bot
cd Yunzai-Bot
clear
if [ -d "node_modules/icqq/lib/core" ]; then
echo -e "\e[1;36m 影宝卖萌中..\e[0m"
else
echo -e "\e[1;31m./node_modules/icqq/lib/core文件夹不存在\e[0m"
echo -e "\e[1;32m请在Yzai根目录启动脚本\e[0m"
echo -e "\e[1;36mbash <(curl -sL gitee.com/white-night-fox/shadow-treasure-script/raw/master/version.sh)\e[0m"
exit
fi
# 获取icqq包的依赖关系树,并用awk提取出icqq的那行
result=$(npm list icqq | awk '/icqq/{print $2}')
# 将版本号以.为分隔符分成三部分,存储到数组中
IFS='.' read -ra current_version_parts <<< "$result"
IFS='.' read -ra required_version_parts <<< "0.4.11"
# 将字符型数组转换成数值型数组
for i in "${!current_version_parts[@]}"; do
current_version_parts[$i]=$(echo "${current_version_parts[$i]}" | sed 's/[^0-9]*//g')
done
for i in "${!required_version_parts[@]}"; do
required_version_parts[$i]=$(echo "${required_version_parts[$i]}" | sed 's/[^0-9]*//g')
done
# 比较两个版本号的大小,根据比较结果输出不同的消息
version_compare() {
for i in "${!required_version_parts[@]}"; do
if [ "${current_version_parts[i]}" -lt "${required_version_parts[i]}" ]; then
echo "$result,低于要求的版本号 0.6.3"
echo -e "\e[1;32m 将 ICQQ 更新至 0.6.3\e[0m"
# 规则更新
pnpm update icqq@0.6.3
# 判断是否执行成功
if [ $? -eq 0 ]; then
echo -e "\e[1;36m 影宝睡觉中..\e[0m"
else
sed -i -E 's/"icqq": "[^"]+"/"icqq": "^0.6.3"/' package.json
echo "" | pnpm install
# 判断是否执行成功
if [ $? -eq 0 ]; then
:
else
echo -e "\e[1;31m 影宝笑你两年半~\e[0m"
read -p "失败了..."
fi
fi
return
elif [ "${current_version_parts[i]}" -gt "${required_version_parts[i]}" ]; then
echo "$result,高于要求的版本号0.6.3"
echo -e "\e[1;33m 不太确定你是否需要\e[0m"
echo -e "\e[1;32m 如果需要请回车\e[0m"
read -p "按下回车键继续..."
return
fi
done
echo "$result"
echo -e "\e[1;33m 版本是正常的\e[0m"
echo -e "\e[1;32m 回车继续将删除虚拟设备token并切换aPad协议\e[0m"
read -p "按下回车键继续..."
}
# 调用version_compare函数
version_compare
# 填写公共签名API
echo -e "\e[1;33m 填写公共签名API\e[0m"
# 设置配置文件路径
config_file="config/config/bot.yaml"
# 检查配置文件中是否已经存在 sign_api_addr
if grep -q "sign_api_addr:" "$config_file"; then
# 将现有的值替换为新的 URL
sed -i 's/sign_api_addr:.*/sign_api_addr: https:\/\/qsign.amoe.cc\/api\/sign\/8963/' "$config_file"
else
# 在配置文件中添加新的值
last_line=$(tail -n 1 "$config_file")
if [ -z "$last_line" ]
then
echo "sign_api_addr: https://qsign.amoe.cc/api/sign/8963" >> "$config_file"
else
echo "" >> "$config_file"
echo "sign_api_addr: https://qsign.amoe.cc/api/sign/8963" >> "$config_file"
fi
fi
echo -e "\e[1;33m 删除旧虚拟设备文件 token\e[0m"
rm -rf data/device.json
rm -rf data/icqq
# 指定要查找的文件名
file="config/config/qq.yaml"
# 读取QQ号码
qq=$(grep 'qq:' $file | awk '{print $2}')
# 删除文件
for token_file in "data/${qq}_token" "data/${qq}_token_bak"; do
if [ -f "$token_file" ]; then
rm -f "$token_file"
echo "已删除文件 $token_file"
else
echo "文件不存在 $token_file"
fi
done
sleep 2
echo -e "\e[1;33m 修改登录协议为 aPad 安卓平板\e[0m"
# 首先,需要指定要修改的文件
file="config/config/qq.yaml"
# 然后,指定要替换的内容
old="platform: [0-9]"
new="platform: 2"
# 使用sed命令来替换文件中的内容
sed -i "s/$old/$new/g" $file
sleep 1
exit
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。