mirror of
https://github.com/yshtcn/DiaryAssistant_bot.git
synced 2025-12-11 16:50:24 +08:00
- 修复了一个空值查看会崩溃的bug
- 改善了打包脚本 - 改进了帮助文件
This commit is contained in:
parent
589102cc98
commit
54be5fa4d3
@ -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
|
||||
|
||||
:: 把生成打包的目录以版本号重命名
|
||||
|
||||
@ -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":
|
||||
|
||||
@ -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看看是否可以正常运行就可以了。
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user