3
.gitignore
vendored
3
.gitignore
vendored
@@ -213,3 +213,6 @@ jieba.cache
|
|||||||
.python-version
|
.python-version
|
||||||
|
|
||||||
OtherRes.txt
|
OtherRes.txt
|
||||||
|
|
||||||
|
/eula.confirmed
|
||||||
|
/privacy.confirmed
|
||||||
160
EULA.md
160
EULA.md
@@ -1,103 +1,97 @@
|
|||||||
MaiMBot最终用户许可协议
|
# **MaiMBot最终用户许可协议**
|
||||||
版本:V1.0
|
**版本:V1.0**
|
||||||
更新日期:2025年3月18日
|
**更新日期:2025年3月18日**
|
||||||
生效日期:2025年3月18日
|
**生效日期:2025年3月18日**
|
||||||
适用的MaiMBot版本号:v0.5.15
|
**适用的MaiMBot版本号:<=v0.5.15**
|
||||||
|
|
||||||
2025© MaiMBot项目团队
|
**2025© MaiMBot项目团队**
|
||||||
|
|
||||||
● [一、一般条款](#一一般条款)
|
---
|
||||||
● [二、许可授权](#二许可授权)
|
|
||||||
● [源代码许可](#源代码许可)
|
## 一、一般条款
|
||||||
● [输入输出内容授权](#输入输出内容授权)
|
|
||||||
● [三、用户行为](#三用户行为)
|
**1.1** MaiMBot项目(包括MaiMBot的源代码、可执行文件、文档,以及其它在本协议中所列出的文件)(以下简称“本项目”)是由开发者及贡献者(以下简称“项目团队”)共同维护,为用户提供自动回复功能的机器人代码项目。以下最终用户许可协议(EULA,以下简称“本协议”)是用户(以下简称“您”)与项目团队之间关于使用本项目所订立的合同条件。
|
||||||
● [四、免责条款](#四免责条款)
|
|
||||||
● [五、其他条款](#五其他条款)
|
**1.2** 在运行或使用本项目之前,您**必须阅读并同意本协议的所有条款**。未成年人或其它无/不完全民事行为能力责任人请**在监护人的陪同下**阅读并同意本协议。如果您不同意,则不得运行或使用本项目。在这种情况下,您应立即从您的设备上卸载或删除本项目及其所有副本。
|
||||||
● [附录:其他重要须知](#附录其他重要须知)
|
|
||||||
● [一、风险提示](#一风险提示)
|
|
||||||
● [二、其他](#二其他)
|
## 二、许可授权
|
||||||
|
|
||||||
|
### 源代码许可
|
||||||
|
**2.1** 您**了解**本项目的源代码是基于GPLv3(GNU通用公共许可证第三版)开源协议发布的。您**可以自由使用、修改、分发**本项目的源代码,但**必须遵守**GPLv3许可证的要求。详细内容请参阅项目仓库中的LICENSE文件。
|
||||||
|
|
||||||
|
**2.2** 您**了解**本项目的源代码中可能包含第三方开源代码,这些代码的许可证可能与GPLv3许可证不同。您**同意**在使用这些代码时**遵守**相应的许可证要求。
|
||||||
|
|
||||||
|
|
||||||
|
### 输入输出内容授权
|
||||||
|
|
||||||
|
**2.3** 您**了解**本项目是使用您的配置信息、提交的指令(以下简称“输入内容”)和生成的内容(以下简称“输出内容”)构建请求发送到第三方API生成回复的机器人项目。
|
||||||
|
|
||||||
|
**2.4** 您**授权**本项目使用您的输入和输出内容按照项目的隐私政策用于以下行为:
|
||||||
|
- 调用第三方API生成回复;
|
||||||
|
- 调用第三方API用于构建本项目专用的存储于您部署或使用的数据库中的知识库和记忆库;
|
||||||
|
- 收集并记录本项目专用的存储于您部署或使用的设备中的日志;
|
||||||
|
|
||||||
|
**2.4** 您**了解**本项目的源代码中包含第三方API的调用代码,这些API的使用可能受到第三方的服务条款和隐私政策的约束。在使用这些API时,您**必须遵守**相应的服务条款。
|
||||||
|
|
||||||
|
**2.5** 项目团队**不对**第三方API的服务质量、稳定性、准确性、安全性负责,亦**不对**第三方API的服务变更、终止、限制等行为负责。
|
||||||
|
|
||||||
|
|
||||||
|
## 三、用户行为
|
||||||
|
|
||||||
|
**3.1** 您**了解**本项目会将您的配置信息、输入指令和生成内容发送到第三方API,您**不应**在输入指令和生成内容中包含以下内容:
|
||||||
|
- 涉及任何国家或地区秘密、商业秘密或其他可能会对国家或地区安全或者公共利益造成不利影响的数据;
|
||||||
|
- 涉及个人隐私、个人信息或其他敏感信息的数据;
|
||||||
|
- 任何侵犯他人合法权益的内容;
|
||||||
|
- 任何违反国家或地区法律法规、政策规定的内容;
|
||||||
|
|
||||||
|
**3.2** 您**不应**将本项目用于以下用途:
|
||||||
|
- 违反任何国家或地区法律法规、政策规定的行为;
|
||||||
|
|
||||||
|
**3.3** 您**应当**自行确保您被存储在本项目的知识库、记忆库和日志中的输入和输出内容的合法性与合规性以及存储行为的合法性与合规性。您需**自行承担**由此产生的任何法律责任。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
一、一般条款
|
## 四、免责条款
|
||||||
|
|
||||||
1.1 MaiMBot项目(包括MaiMBot的源代码、可执行文件、文档,以及其它在本协议中所列出的文件)(以下简称“本项目”)是由开发者及贡献者(以下简称“项目团队”)共同维护,为用户提供自动回复功能的机器人代码项目。以下最终用户许可协议(EULA,以下简称“本协议”)是用户(以下简称“您”)与项目团队之间关于使用本项目所订立的合同条件。
|
**4.1** 本项目的输出内容依赖第三方API,**不受**项目团队控制,亦**不代表**项目团队的观点。
|
||||||
|
|
||||||
1.2 在运行或使用本项目之前,您必须阅读并同意本协议的所有条款。未成年人或其它无/不完全民事行为能力责任人请在监护人的陪同下阅读并同意本协议。如果您不同意,则不得运行或使用本项目。在这种情况下,您应立即从您的设备上卸载或删除本项目及其所有副本。
|
**4.2** 除本协议条目2.4提到的隐私政策之外,项目团队**不会**对您提供任何形式的担保,亦**不对**使用本项目的造成的任何后果负责。
|
||||||
|
|
||||||
|
## 五、其他条款
|
||||||
|
|
||||||
|
**5.1** 项目团队有权**随时修改本协议的条款**,但**没有**义务通知您。修改后的协议将在本项目的新版本中生效,您应定期检查本协议的最新版本。
|
||||||
|
|
||||||
|
**5.2** 项目团队**保留**本协议的最终解释权。
|
||||||
|
|
||||||
|
|
||||||
二、许可授权
|
## 附录:其他重要须知
|
||||||
|
|
||||||
源代码许可
|
### 一、过往版本使用条件追溯
|
||||||
2.1 您了解本项目的源代码是基于GPLv3(GNU通用公共许可证第三版)开源协议发布的。您可以自由使用、修改、分发本项目的源代码,但必须遵守GPLv3许可证的要求。详细内容请参阅项目仓库中的LICENSE文件。
|
|
||||||
|
|
||||||
2.2 您了解本项目的源代码中可能包含第三方开源代码,这些代码的许可证可能与GPLv3许可证不同。您同意在使用这些代码时遵守相应的许可证要求。
|
**1.1** 对于本项目此前未配备 EULA 协议的版本,自本协议发布之日起,若用户希望继续使用本项目,应在本协议生效后的合理时间内,通过升级到最新版本并同意本协议全部条款。若在本版协议生效日(2025年3月18日)之后,用户仍使用此前无 EULA 协议的项目版本且未同意本协议,则用户无权继续使用,项目方有权采取措施阻止其使用行为,并保留追究相关法律责任的权利。
|
||||||
|
|
||||||
|
|
||||||
输入输出内容授权
|
### 二、风险提示
|
||||||
2.3 您了解本项目是使用您的配置信息、提交的指令(以下简称“输入内容”)和生成的内容(以下简称“输出内容”)构建请求发送到第三方API生成回复的机器人项目。
|
|
||||||
|
|
||||||
2.4 您授权本项目使用您的输入和输出内容按照项目的隐私条款用于以下行为:
|
**2.1 隐私安全风险**
|
||||||
● 调用第三方API用于生成回复;
|
|
||||||
● 调用第三方API用于构建本项目专用的存储于您部署或使用的数据库中的知识库和记忆库;
|
|
||||||
● 收集并记录本项目专用的存储于您部署或使用的设备中的日志;
|
|
||||||
|
|
||||||
2.5 您了解本项目的源代码中包含第三方API的调用代码,这些API的使用可能受到第三方的服务条款和隐私政策的约束。在使用这些API时,您必须遵守相应的服务条款。
|
- 本项目会将您的配置信息、输入指令和生成内容发送到第三方API,而这些API的服务质量、稳定性、准确性、安全性不受项目团队控制。
|
||||||
|
- 本项目会收集您的输入和输出内容,用于构建本项目专用的知识库和记忆库,以提高回复的准确性和连贯性。
|
||||||
|
|
||||||
2.6 项目团队不对第三方API的服务质量、稳定性、准确性、安全性负责,亦不对第三方API的服务变更、终止、限制等行为负责。
|
**因此,为了保障您的隐私信息安全,请注意以下事项:**
|
||||||
|
|
||||||
|
- 避免在涉及个人隐私、个人信息或其他敏感信息的环境中使用本项目;
|
||||||
|
- 避免在不可信的环境中使用本项目;
|
||||||
|
|
||||||
三、用户行为
|
**2.2 精神健康风险**
|
||||||
|
|
||||||
3.1 您了解本项目会将您的配置信息、输入指令和生成内容发送到第三方API,您不应在输入指令和生成内容中包含以下内容:
|
|
||||||
● 涉及任何国家或地区秘密、商业秘密或其他可能会对国家或地区安全或者公共利益造成不利影响的数据;
|
|
||||||
● 涉及个人隐私、个人信息或其他敏感信息的数据;
|
|
||||||
● 侵犯他人合法权益的内容;
|
|
||||||
● 任何违反您及您部署本项目所用的设备所在的国家或地区的法律法规、政策规定的内容;
|
|
||||||
|
|
||||||
3.2 您不应将本项目用于以下用途:
|
|
||||||
● 任何违反您及您部署本项目所用的设备所在的国家或地区的法律法规、政策规定的行为;
|
|
||||||
|
|
||||||
3.3 您应当自行确保您被存储在本项目的知识库、记忆库和日志中的输入和输出内容的合法性与合规性以及存储行为的合法性与合规性。由此产生的任何法律责任均由您自行承担。
|
|
||||||
|
|
||||||
|
|
||||||
四、免责条款
|
|
||||||
|
|
||||||
4.1 本项目的输出内容依赖第三方API,不受项目团队控制,亦不代表项目团队的观点。
|
|
||||||
|
|
||||||
4.2 除本协议条目2.3提到的之外,项目团队不会对您提供任何形式的担保,亦不对使用本项目的造成的任何后果负责。
|
|
||||||
|
|
||||||
五、其他条款
|
|
||||||
|
|
||||||
5.1 项目团队有权随时修改本协议的条款,修改后的协议将在本项目的新版本中生效。您应定期检查本协议的最新版本。
|
|
||||||
|
|
||||||
5.2 项目团队保有本协议的最终解释权。
|
|
||||||
|
|
||||||
|
|
||||||
附录:其他重要须知
|
|
||||||
|
|
||||||
一、风险提示
|
|
||||||
|
|
||||||
1.1 隐私安全风险: 由于:
|
|
||||||
● 本项目会将您的配置信息、输入指令和生成内容发送到第三方API,而这些API的服务质量、稳定性、准确性、安全性不受项目团队控制。
|
|
||||||
● 本项目会收集您的输入和输出内容,用于构建本项目专用的知识库和记忆库,以提高回复的准确性和连贯性。
|
|
||||||
|
|
||||||
为了保障您的隐私信息安全,请注意以下事项:
|
|
||||||
● 避免在涉及个人隐私、个人信息或其他敏感信息的环境中使用本项目;
|
|
||||||
● 避免在不可信的环境中使用本项目;
|
|
||||||
● 避免在不可信的网络环境中使用本项目。
|
|
||||||
|
|
||||||
1.2 精神健康风险: 本项目仅为工具型机器人,不具备情感交互能力。建议用户:
|
|
||||||
● 避免过度依赖AI回复处理现实问题或情绪困扰;
|
|
||||||
● 如感到心理不适,请及时寻求专业心理咨询服务。
|
|
||||||
● 如遇心理困扰,请寻求专业帮助(全国心理援助热线:12355)。
|
|
||||||
|
|
||||||
二、过往版本使用条件追溯
|
|
||||||
对于本项目此前未配备 EULA 协议的版本,自本协议发布之日起,若用户希望继续使用这些版本,应在本协议生效后的合理时间内,通过升级到最新版本并同意本协议全部条款。若在本协议生效日2025年3月18日之后,用户仍使用此前无 EULA 协议版本且未同意本协议,则用户无权继续使用,项目方有权采取技术手段阻止其使用行为,并保留追究相关法律责任的权利 。
|
|
||||||
|
|
||||||
三、其他
|
|
||||||
2.1 争议解决
|
|
||||||
● 本协议适用中国法律,争议提交相关地区法院管辖;
|
|
||||||
● 若因GPLv3许可产生纠纷,以许可证官方解释为准。
|
|
||||||
|
|
||||||
|
本项目仅为工具型机器人,不具备情感交互能力。建议用户:
|
||||||
|
- 避免过度依赖AI回复处理现实问题或情绪困扰;
|
||||||
|
- 如感到心理不适,请及时寻求专业心理咨询服务。
|
||||||
|
- 如遇心理困扰,请寻求专业帮助(全国心理援助热线:12355)。
|
||||||
|
|
||||||
|
### 三、其他
|
||||||
|
**3.1 争议解决**
|
||||||
|
- 本协议适用中国法律,争议提交相关地区法院管辖;
|
||||||
|
- 若因GPLv3许可产生纠纷,以许可证官方解释为准。
|
||||||
|
|||||||
21
PRIVACY.md
Normal file
21
PRIVACY.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
### MaiMBot用户隐私条款
|
||||||
|
**版本:V1.0**
|
||||||
|
**更新日期:2025年3月18日**
|
||||||
|
**生效日期:2025年3月18日**
|
||||||
|
**适用的MaiMBot版本号:<=v0.5.15**
|
||||||
|
|
||||||
|
**2025© MaiMBot项目团队**
|
||||||
|
|
||||||
|
MaiMBot项目团队(以下简称项目团队)**尊重并保护**用户(以下简称您)的隐私。若您选择使用MaiMBot项目(以下简称本项目),则您需同意本项目按照以下隐私条款处理您的输入和输出内容:
|
||||||
|
|
||||||
|
**1.1** 本项目**会**收集您的输入和输出内容并发送到第三方API,用于生成新的输出内容。因此您的输入和输出内容**会**同时受到本项目和第三方API的隐私政策约束。
|
||||||
|
|
||||||
|
**1.2** 本项目**会**收集您的输入和输出内容,用于构建本项目专用的仅存储在您使用的数据库中的知识库和记忆库,以提高回复的准确性和连贯性。
|
||||||
|
|
||||||
|
**1.3** 本项目**会**收集您的输入和输出内容,用于生成仅存储于您部署或使用的设备中的不会上传至互联网的日志。但当您向项目团队反馈问题时,项目团队可能需要您提供日志文件以帮助解决问题。
|
||||||
|
|
||||||
|
**1.4** 本项目可能**会**收集部分统计信息(如使用频率、基础指令类型)以改进服务,您可在[bot_config.toml]中随时关闭此功能**。
|
||||||
|
|
||||||
|
**1.5** 由于您的自身行为或不可抗力等情形,导致上述可能涉及您隐私或您认为是私人信息的内容发生被泄露、批漏,或被第三方获取、使用、转让等情形的,均由您**自行承担**不利后果,我们对此**不承担**任何责任。
|
||||||
|
|
||||||
|
**1.6** 项目团队保留在未来更新隐私条款的权利,但没有义务通知您。若您不同意更新后的隐私条款,您应立即停止使用本项目。
|
||||||
37
README.md
37
README.md
@@ -115,12 +115,6 @@
|
|||||||
> - 由于持续迭代,可能存在一些已知或未知的bug
|
> - 由于持续迭代,可能存在一些已知或未知的bug
|
||||||
> - 由于开发中,可能消耗较多token
|
> - 由于开发中,可能消耗较多token
|
||||||
|
|
||||||
## 💬交流群
|
|
||||||
- [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 ,建议加下面的(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
|
||||||
- [二群](https://qm.qq.com/q/RzmCiRtHEW) 571780722 (开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
|
||||||
- [三群](https://qm.qq.com/q/wlH5eT8OmQ) 1035228475(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
|
||||||
- [四群](https://qm.qq.com/q/wlH5eT8OmQ) 729957033(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
|
||||||
|
|
||||||
**📚 有热心网友创作的wiki:** https://maimbot.pages.dev/
|
**📚 有热心网友创作的wiki:** https://maimbot.pages.dev/
|
||||||
|
|
||||||
**📚 由SLAPQ制作的B站教程:** https://www.bilibili.com/opus/1041609335464001545
|
**📚 由SLAPQ制作的B站教程:** https://www.bilibili.com/opus/1041609335464001545
|
||||||
@@ -129,9 +123,17 @@
|
|||||||
|
|
||||||
- (由 [CabLate](https://github.com/cablate) 贡献) [Telegram 与其他平台(未来可能会有)的版本](https://github.com/cablate/MaiMBot/tree/telegram) - [集中讨论串](https://github.com/SengokuCola/MaiMBot/discussions/149)
|
- (由 [CabLate](https://github.com/cablate) 贡献) [Telegram 与其他平台(未来可能会有)的版本](https://github.com/cablate/MaiMBot/tree/telegram) - [集中讨论串](https://github.com/SengokuCola/MaiMBot/discussions/149)
|
||||||
|
|
||||||
## 📝 注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意
|
## ✍️如何给本项目报告BUG/提交建议/做贡献
|
||||||
**如果你有想法想要提交pr**
|
|
||||||
- 由于本项目在快速迭代和功能调整,并且有重构计划,目前不接受任何未经过核心开发组讨论的pr合并,谢谢!如您仍旧希望提交pr,可以详情请看置顶issue
|
MaiMBot是一个开源项目,我们非常欢迎你的参与。你的贡献,无论是提交bug报告、功能需求还是代码pr,都对项目非常宝贵。我们非常感谢你的支持!🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](CONTRIBUTE.md)
|
||||||
|
|
||||||
|
### 💬交流群
|
||||||
|
- [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 ,建议加下面的(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
||||||
|
- [二群](https://qm.qq.com/q/RzmCiRtHEW) 571780722 (开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
||||||
|
- [三群](https://qm.qq.com/q/wlH5eT8OmQ) 1035228475(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
||||||
|
- [四群](https://qm.qq.com/q/wlH5eT8OmQ) 729957033(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div align="left">
|
<div align="left">
|
||||||
<h2>📚 文档 ⬇️ 快速开始使用麦麦 ⬇️</h2>
|
<h2>📚 文档 ⬇️ 快速开始使用麦麦 ⬇️</h2>
|
||||||
@@ -226,23 +228,24 @@
|
|||||||
|
|
||||||
## 设计理念
|
## 设计理念
|
||||||
|
|
||||||
- **千石可乐说:**
|
> **千石可乐说:**
|
||||||
- 这个项目最初只是为了给牛牛bot添加一点额外的功能,但是功能越写越多,最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在.
|
> - 这个项目最初只是为了给牛牛bot添加一点额外的功能,但是功能越写越多,最后决定重写。其目的是为了创造一个活跃在QQ群聊的"生命体"。可以目的并不是为了写一个功能齐全的机器人,而是一个尽可能让人感知到真实的类人存在.
|
||||||
- 程序的功能设计理念基于一个核心的原则:"最像而不是好"
|
> - 程序的功能设计理念基于一个核心的原则:"最像而不是好"
|
||||||
- 主打一个陪伴
|
> - 主打一个陪伴
|
||||||
- 如果人类真的需要一个AI来陪伴自己,并不是所有人都需要一个完美的,能解决所有问题的helpful assistant,而是一个会犯错的,拥有自己感知和想法的"生命形式"。
|
> - 如果人类真的需要一个AI来陪伴自己,并不是所有人都需要一个完美的,能解决所有问题的helpful assistant,而是一个会犯错的,拥有自己感知和想法的"生命形式"。
|
||||||
- 代码会保持开源和开放,但个人希望MaiMbot的运行时数据保持封闭,尽量避免以显式命令来对其进行控制和调试.我认为一个你无法完全掌控的个体才更能让你感觉到它的自主性,而视其成为一个对话机器.
|
> - 代码会保持开源和开放,但个人希望MaiMbot的运行时数据保持封闭,尽量避免以显式命令来对其进行控制和调试.我认为一个你无法完全掌控的个体才更能让你感觉到它的自主性,而视其成为一个对话机器.
|
||||||
|
|
||||||
## 📌 注意事项
|
## 📌 注意事项
|
||||||
|
|
||||||
SengokuCola~~纯编程外行,面向cursor编程,很多代码写得不好多多包涵~~已得到大脑升级
|
SengokuCola~~纯编程外行,面向cursor编程,很多代码写得不好多多包涵~~已得到大脑升级
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> 本应用生成内容来自人工智能模型,由 AI 生成,请仔细甄别,请勿用于违反法律的用途,AI生成内容不代表本人观点和立场。
|
> 本应用生成内容来自人工智能模型,由 AI 生成,请仔细甄别,请勿用于违反法律的用途,AI生成内容不代表本人观点和立场。
|
||||||
|
|
||||||
## 致谢
|
## 致谢
|
||||||
|
|
||||||
[nonebot2](https://github.com/nonebot/nonebot2): 跨平台 Python 异步聊天机器人框架
|
- [nonebot2](https://github.com/nonebot/nonebot2): 跨平台 Python 异步聊天机器人框架
|
||||||
[NapCat](https://github.com/NapNeko/NapCatQQ): 现代化的基于 NTQQ 的 Bot 协议端实现
|
- [NapCat](https://github.com/NapNeko/NapCatQQ): 现代化的基于 NTQQ 的 Bot 协议端实现
|
||||||
|
|
||||||
### 贡献者
|
### 贡献者
|
||||||
|
|
||||||
|
|||||||
54
bot.py
54
bot.py
@@ -166,25 +166,57 @@ async def uvicorn_main():
|
|||||||
await server.serve()
|
await server.serve()
|
||||||
|
|
||||||
def check_eula():
|
def check_eula():
|
||||||
eula_file = Path("elua.confirmed")
|
eula_confirm_file = Path("elua.confirmed")
|
||||||
|
privacy_confirm_file = Path("privacy.confirmed")
|
||||||
|
eula_file = Path("EULA.md")
|
||||||
|
privacy_file = Path("PRIVACY.md")
|
||||||
|
|
||||||
# 如果已经确认过EULA,直接返回
|
eula_updated = True
|
||||||
if eula_file.exists():
|
privacy_updated = True
|
||||||
return
|
|
||||||
|
|
||||||
print("使用MaiMBot前请先阅读ELUA协议,继续运行视为同意协议")
|
eula_confirmed = False
|
||||||
print("协议内容:https://github.com/SengokuCola/MaiMBot/blob/main/EULA.md")
|
privacy_confirmed = False
|
||||||
|
|
||||||
|
# 检查EULA确认文件是否存在
|
||||||
|
if eula_confirm_file.exists():
|
||||||
|
# 检查EULA文件版本是否更新(与elua.confirmed文件对比)
|
||||||
|
with open(eula_file, "r") as f:
|
||||||
|
eula_content = f.read()
|
||||||
|
with open(eula_confirm_file, "r") as f:
|
||||||
|
confirmed_content = f.read()
|
||||||
|
if eula_content == confirmed_content:
|
||||||
|
eula_confirmed = True
|
||||||
|
eula_updated = False
|
||||||
|
|
||||||
|
|
||||||
|
# 检查隐私条款确认文件是否存在
|
||||||
|
if privacy_confirm_file.exists():
|
||||||
|
# 检查隐私条款文件版本是否更新(与privacy.confirmed文件对比)
|
||||||
|
with open(privacy_file, "r") as f:
|
||||||
|
privacy_content = f.read()
|
||||||
|
with open(privacy_confirm_file, "r") as f:
|
||||||
|
confirmed_content = f.read()
|
||||||
|
if privacy_content == confirmed_content:
|
||||||
|
privacy_confirmed = True
|
||||||
|
privacy_updated = False
|
||||||
|
|
||||||
|
# 如果EULA或隐私条款有更新,提示用户重新确认
|
||||||
|
if eula_updated or privacy_updated:
|
||||||
|
print("EULA或隐私条款内容已更新,请在阅读后重新确认,继续运行视为同意更新后的以上两款协议")
|
||||||
print('输入"同意"或"confirmed"继续运行')
|
print('输入"同意"或"confirmed"继续运行')
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
user_input = input().strip().lower() # 转换为小写以忽略大小写
|
user_input = input().strip().lower()
|
||||||
if user_input in ['同意', 'confirmed']:
|
if user_input in ['同意', 'confirmed']:
|
||||||
# 创建确认文件
|
if eula_updated:
|
||||||
eula_file.touch()
|
eula_confirm_file.write_text(eula_file.read_text())
|
||||||
|
if privacy_updated:
|
||||||
|
privacy_confirm_file.write_text(privacy_file.read_text())
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
print('请输入"同意"或"confirmed"以继续运行')
|
print('请输入"同意"或"confirmed"以继续运行')
|
||||||
|
return
|
||||||
|
elif eula_confirmed and privacy_confirmed:
|
||||||
|
return
|
||||||
|
|
||||||
def raw_main():
|
def raw_main():
|
||||||
# 利用 TZ 环境变量设定程序工作的时区
|
# 利用 TZ 环境变量设定程序工作的时区
|
||||||
|
|||||||
Reference in New Issue
Block a user