fix: 优化EULA和隐私政策的更新检测方式
This commit is contained in:
19
bot.py
19
bot.py
@@ -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") as f:
|
||||||
eula_content = f.read()
|
eula_content = f.read()
|
||||||
with open(eula_confirm_file, "r") as f:
|
with open(eula_confirm_file, "r") 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") as f:
|
||||||
privacy_content = f.read()
|
privacy_content = f.read()
|
||||||
with open(privacy_confirm_file, "r") as f:
|
with open(privacy_confirm_file, "r") 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"以继续运行')
|
||||||
|
|||||||
Reference in New Issue
Block a user