Merge pull request #472 from Oct-autumn/main-fix

fix: 优化EULA和隐私政策的更新检测方式
This commit is contained in:
SengokuCola
2025-03-18 10:34:19 +08:00
committed by GitHub

27
bot.py
View File

@@ -1,4 +1,5 @@
import asyncio import asyncio
import hashlib
import os import os
import shutil import shutil
import sys import sys
@@ -172,31 +173,37 @@ def check_eula():
privacy_file = Path("PRIVACY.md") privacy_file = Path("PRIVACY.md")
eula_updated = True eula_updated = True
eula_new_hash = None
privacy_updated = True privacy_updated = True
privacy_new_hash = None
eula_confirmed = False eula_confirmed = False
privacy_confirmed = False privacy_confirmed = False
# 检查EULA确认文件是否存在 # 检查EULA确认文件是否存在
if eula_confirm_file.exists(): if eula_confirm_file.exists():
# 检查EULA文件版本是否更新与elua.confirmed文件对比) # 检查EULA文件版本是否更新对比哈希
with open(eula_file, "r") as f: with open(eula_file, "r", encoding="utf-8") as f:
eula_content = f.read() eula_content = f.read()
with open(eula_confirm_file, "r") as f: with open(eula_confirm_file, "r", encoding="utf-8") as f:
confirmed_content = f.read() confirmed_content = f.read()
if eula_content == confirmed_content: # 计算EULA文件的md5值
eula_new_hash = hashlib.md5(eula_content.encode("utf-8")).hexdigest()
if eula_new_hash == confirmed_content:
eula_confirmed = True eula_confirmed = True
eula_updated = False eula_updated = False
# 检查隐私条款确认文件是否存在 # 检查隐私条款确认文件是否存在
if privacy_confirm_file.exists(): if privacy_confirm_file.exists():
# 检查隐私条款文件版本是否更新(与privacy.confirmed文件对比) # 检查隐私条款文件版本是否更新(对比哈希
with open(privacy_file, "r") as f: with open(privacy_file, "r", encoding="utf-8") as f:
privacy_content = f.read() privacy_content = f.read()
with open(privacy_confirm_file, "r") as f: with open(privacy_confirm_file, "r", encoding="utf-8") as f:
confirmed_content = f.read() confirmed_content = f.read()
if privacy_content == confirmed_content: # 计算隐私条款文件的md5值
privacy_new_hash = hashlib.md5(privacy_content.encode("utf-8")).hexdigest()
if privacy_new_hash == confirmed_content:
privacy_confirmed = True privacy_confirmed = True
privacy_updated = False privacy_updated = False
@@ -208,9 +215,9 @@ def check_eula():
user_input = input().strip().lower() user_input = input().strip().lower()
if user_input in ['同意', 'confirmed']: if user_input in ['同意', 'confirmed']:
if eula_updated: if eula_updated:
eula_confirm_file.write_text(eula_file.read_text(encoding="utf-8"),encoding="utf-8") eula_confirm_file.write_text(eula_new_hash,encoding="utf-8")
if privacy_updated: if privacy_updated:
privacy_confirm_file.write_text(privacy_file.read_text(encoding="utf-8"),encoding="utf-8") privacy_confirm_file.write_text(privacy_new_hash,encoding="utf-8")
break break
else: else:
print('请输入"同意""confirmed"以继续运行') print('请输入"同意""confirmed"以继续运行')