fixbug:解决抢答和获取任务的问题

This commit is contained in:
Liu
2025-02-21 20:00:43 +08:00
parent 17c44d2c22
commit 8954fc5a7f
3 changed files with 36 additions and 7 deletions

View File

@@ -0,0 +1,26 @@
server:
port: 8080
#proxied: http://127.0.0.1:7890
password: 'xxx'
think_reason: true
debug: false
browser-less:
enabled: true
port: 8081
#reversal: http://127.0.0.1:8081
disabled-gpu: true
headless: new
matcher:
- match: I do not engage
over: ":\n"
notice:
regex: |
"(?i)I do not engage .+:\n":""
- match: <thinking>
over: </thinking>
notice:
think_reason: true
regex: |
"(?s)<thinking>(.+)</thinking>":"$1"

View File

@@ -8,6 +8,7 @@ def extract_content(data_string):
data = json.loads(data_string)
# 提取content字段
content = data["choices"][0]["message"].get("content", "")
print(content)
return content
except json.JSONDecodeError:
print("Invalid JSON")
@@ -57,14 +58,14 @@ def game_question_json(question):
每个问题都应当独立,问题之间不应具有连贯性或延续性。
避免重复提问或相似问题,确保每个问题都是全新的。
问题需要有一定的难度回答完毕之后用户能有所收获并且对问题进行打分同时根据问题难度告知答对之后给多少分1-10请只返回JSON格式的内容
格式要求如下:{\"question\": \"哪个国家最早将玫瑰与爱情联系起来?\", \"score\":\"1\", \"answer\": \"波斯\",\"description\":\"描述问题答案的原因\"}
格式要求如下(请不要加上markdown 的符号){\"question\": \"哪个国家最早将玫瑰与爱情联系起来?\", \"score\":\"1\", \"answer\": \"波斯\",\"description\":\"描述问题答案的原因\"}
"""
return message_task_json(prompt, question)
def game_answer_json(answar):
prompt = "你是一个益智百科问答大师,可以根据用户回答的答案进行判断,并且对问题(question)答案(answer)进行打分,打分时请参考最高分要求(top_score)告知用户能获得多少分请在description中描述打分理由请只返回JSON格式的内容格式要求如下{\"question\": \"哪个国家最早将玫瑰与爱情联系起来?\", \"score\":\"1\", \"answer\": \"波斯\",\"description\":\"描述问题答案的原因\"}"
prompt = "你是一个益智百科问答大师,可以根据用户回答的答案进行判断,并且对问题(question)答案(answer)进行打分,打分时请参考最高分要求(top_score)告知用户能获得多少分请在description中描述打分理由请只返回JSON格式的内容格式要求如下(请不要加上markdown 的符号){\"question\": \"哪个国家最早将玫瑰与爱情联系起来?\", \"score\":\"1\", \"answer\": \"波斯\",\"description\":\"描述问题答案的原因\"}"
return message_task_json(prompt, answar)

View File

@@ -241,6 +241,7 @@ def submit_answer(group_id, player_id, task_id, answer):
# 调用内部方法校验答案
answer_json = {"question": question, "top_score": str(top_score), "answer": answer}
result = game_answer_json(answer_json)
print(result)
points = int(result["score"])
description = result["description"]
is_correct = points > 0
@@ -297,7 +298,8 @@ def submit_answer(group_id, player_id, task_id, answer):
conn.commit()
return message
except ValueError:
except ValueError as e:
print(f"submit_answer:{e}")
return (
f"😅 哎呀,小调皮\n"
f"🌟 任务ID格式不对哦\n"
@@ -474,8 +476,8 @@ def setup_schedule():
# 主程序
if __name__ == "__main__":
# 测试抢答功能
print(game_process_message("47530198896@chatroom", "player1001", "/start", "玩家1"))
print(game_process_message("47530198896@chatroom", "player1002", "/start", "玩家2"))
print(game_process_message("47530198896@chatroom", "player1001", "/gettask"))
# print(game_process_message("47530198896@chatroom", "player1001", "/start", "玩家1"))
# print(game_process_message("47530198896@chatroom", "player1002", "/start", "玩家2"))
# print(game_process_message("47530198896@chatroom", "player1001", "/gettask"))
# 玩家2 抢答玩家1的任务
print(game_process_message("47530198896@chatroom", "player1002", "/answer 1 珠穆朗玛峰"))
print(game_process_message("45317011307@chatroom", "Jyunere", "/answer 18 罗马斗兽场"))