- 修复了一个空值查看会崩溃的bug

- 改善了打包脚本
- 改进了帮助文件
This commit is contained in:
yshtcn 2023-10-13 11:07:41 +08:00
parent 589102cc98
commit 54be5fa4d3
3 changed files with 24 additions and 19 deletions

View File

@ -13,7 +13,7 @@ cls
title "AutoPyInstaller初始化"
:: 让我们设置一些信息
set "ProductName=Diary Assistant"
set "ProductName=DiaryAssistant_Bot"
set "InternalName=yshtcn"
set "Comments=GitHub: https://github.com/yshtcn/DiaryAssistant_bot"
@ -41,7 +41,7 @@ set "day=%datetime:~6,2%"
set /p "revision=请输入今天的版本次:(%year%, %month%, %day%,[?]):"
:: 当前版本目录未去除先导0
set "versionFolder=%year%_%month%_%day%_%revision%"
set "versionFolder=%ProductName%_Win_%year%_%month%_%day%_%revision%"
:: 去除月和日的前导零(如果有)
set /a "month=1%month%-100"
@ -100,7 +100,7 @@ md build
rd /S /Q %~dp0\build\%versionFolder%
:: 删除打包目录产生的过程文件
del /q %~dp0\build\heartbeat.spec
del /q %~dp0\build\DiaryAssistant.spec
rd /S /Q %~dp0\build\build
:: 进入打包目录并开始打包
@ -112,7 +112,7 @@ title "AutoPyInstaller
:: (再次)删除打包目录下同版本号的文件夹
rd /S /Q %~dp0\build\%versionFolder%
:: (再次)删除打包目录产生的过程文件
del /q "%~dp0\build\Diary Assistant.spec"
del /q %~dp0\build\DiaryAssistant.spec
rd /S /Q %~dp0\build\build
:: 把生成打包的目录以版本号重命名

View File

@ -31,6 +31,7 @@ user_data_filename="user_data.json"
# 检查配置文件是否存在
config_path = os.path.join(current_dir, config_filename)
print(f"Config file path: {config_path}")
if os.path.exists(config_path):
# 读取配置文件
@ -60,7 +61,7 @@ else:
}
# 将config对象转换为格式化的JSON字符串
config_str = json.dumps(config, indent=4)
print(config_str)
with open(config_path, 'w') as f:
f.write(config_str)
print(f"Config file created at {config_path}. Please set your bot token.")
@ -81,11 +82,22 @@ URL = f"https://api.telegram.org/bot{TOKEN}/"
# 尝试从文件中加载已有数据
try:
with open(os.path.join(current_dir, config_filename), 'r') as f:
with open(os.path.join(current_dir, user_data_filename), 'r') as f:
user_data = json.load(f)
print(f"User data loaded: {user_data}")
except (FileNotFoundError, json.JSONDecodeError):
print("No user data found; starting with empty data.")
user_data = {}
# 尝试从文件中加载黑名单
try:
with open(os.path.join(current_dir, blacklist_filename), 'r') as f:
blacklist = json.load(f)
print(f"Blacklist loaded: {blacklist}")
except FileNotFoundError:
blacklist = []
print("No blacklist found; starting with empty blacklist.")
def set_bot_commands():
try:
set_commands_url = URL + "setMyCommands"
@ -107,14 +119,6 @@ def set_bot_commands():
return f"An error occurred: {err}"
# 尝试从文件中加载黑名单
try:
with open(os.path.join(current_dir, blacklist_filename), 'r') as f:
blacklist = json.load(f)
except FileNotFoundError:
blacklist = []
# 获取更新
def get_updates(offset=None):
try:
@ -239,12 +243,13 @@ def main():
send_message(chat_id_str, f"#二次确认\n---\n你真的要结束本次记录吗?确认请点击: /confirmdone \n如果不想结束本次记录,直接忽视这条信息、继续发送信息或使用其他指令都可以。")
blacklist.append(unique_id)
elif message_text.lower() == "/confirmdone":
main_text="\n\n".join(user_data[chat_id_str])
main_text="\n\n".join(user_data.get(chat_id_str, []))
send_message(chat_id_str, f"#结束记录\n以下是记录的全部内容:\n---\n```\n{main_text}\n```\n---\n下次发送消息将开始新的记录.")
user_data[chat_id_str] = []
blacklist.append(unique_id)
elif message_text.lower() == "/check":
main_text="\n\n".join(user_data[chat_id_str])
print(f"user_data: {user_data}")
main_text="\n\n".join(user_data.get(chat_id_str, []))
send_message(chat_id_str, f"#查看记录\n以下是已记录的全部内容:\n---\n```\n{main_text}\n```\n---\n发送消息将继续当前的记录.")
blacklist.append(unique_id)
elif message_text.lower() == "/removelast":

View File

@ -8,11 +8,11 @@
## 为什么要制作这个bot
原因很简单因为AI日记的兴起————我们可以把AI当成朋友一样不断的诉说最后让AI回顾整理一天的事情成为日记。最初我是使用chatGPT完成这一点的但是始终在AI的界面进行对话十分不便而且GPT的对话次数是有限的有时候太碎碎念会造成对话次数受限。于是我设计、开发了这个bot。
原因很简单因为AI日记的兴起————我们可以把AI当成朋友一样不断的诉说最后让AI回顾整理一天的事情成为日记。当然,你也可以用来收集一些碎片化的信息。最初我是使用chatGPT完成这一点的但是始终在AI的界面进行对话十分不便而且GPT的对话次数是有限的有时候太碎碎念会造成对话次数受限。于是我设计、开发了这个bot。
## 为什么要开源发布而不是直接提供bot
首先日记这个东西很私密你不知道bot或者其他软件的另一端有谁在盯着我建议还是在自己的电脑/服务器上跑好一点。
首先你收集的东西可能很私密你不知道bot或者其他软件的另一端有谁在盯着我建议还是在自己的电脑/服务器上跑好一点。
# 使用方法
@ -29,5 +29,5 @@
- 把/mydata换成映射的目的路径首次运行时会自动生成bot_config.json并自动退出。
- 然后把你的botid填进映射目的地址下的bot_config.json并配置好代理地址如果不需要代理地址直接删除代理信息即可
- 注意,如果你无法编辑文件,可能要给与权限:```chmod -R 777 /mydata```
- 注意,如果你无法编辑文件,可能要给与权限:```chmod -R 777 /mydata```
- 再次启动向你的bot发送/start看看是否可以正常运行就可以了。