mirror of https://github.com/Mai-with-u/MaiBot.git
modified: src/plugins/person_info/relationship_manager.py
parent
3f5f41a58b
commit
561f0c81f8
|
|
@ -20,25 +20,13 @@ class RelationshipManager:
|
|||
def mood_manager(self):
|
||||
if self._mood_manager is None:
|
||||
from ..moods.moods import MoodManager # 延迟导入
|
||||
|
||||
self._mood_manager = MoodManager.get_instance()
|
||||
return self._mood_manager
|
||||
|
||||
def positive_feedback_sys(self, label: str, stance: str):
|
||||
"""正反馈系统,通过正反馈系数增益情绪变化,根据情绪再影响关系变更"""
|
||||
|
||||
positive_list = [
|
||||
"开心",
|
||||
"惊讶",
|
||||
"害羞",
|
||||
]
|
||||
|
||||
negative_list = [
|
||||
"愤怒",
|
||||
"悲伤",
|
||||
"恐惧",
|
||||
"厌恶",
|
||||
]
|
||||
positive_list = ["开心", "惊讶", "害羞"]
|
||||
negative_list = ["愤怒", "悲伤", "恐惧", "厌恶"]
|
||||
|
||||
if label in positive_list:
|
||||
if 7 > self.positive_feedback_value >= 0:
|
||||
|
|
@ -203,7 +191,7 @@ class RelationshipManager:
|
|||
|
||||
@staticmethod
|
||||
async def first_knowing_some_one(platform, user_id, user_nickname, user_cardname, user_avatar):
|
||||
"""判断是否认识某人"""
|
||||
"""初次认识某人或更新信息"""
|
||||
person_id = person_info_manager.get_person_id(platform, user_id)
|
||||
# 首次认识时,除了更新 nickname,也应该设置初始关系值等
|
||||
initial_data = {
|
||||
|
|
@ -230,35 +218,11 @@ class RelationshipManager:
|
|||
|
||||
|
||||
async def calculate_update_relationship_value(self, chat_stream: ChatStream, label: str, stance: str) -> tuple:
|
||||
"""计算并变更关系值
|
||||
新的关系值变更计算方式:
|
||||
将关系值限定在-1000到1000
|
||||
对于关系值的变更,期望:
|
||||
1.向两端逼近时会逐渐减缓
|
||||
2.关系越差,改善越难,关系越好,恶化越容易
|
||||
3.人维护关系的精力往往有限,所以当高关系值用户越多,对于中高关系值用户增长越慢
|
||||
4.连续正面或负面情感会正反馈
|
||||
|
||||
返回:
|
||||
用户昵称,变更值,变更后关系等级
|
||||
|
||||
"""
|
||||
stancedict = {
|
||||
"支持": 0,
|
||||
"中立": 1,
|
||||
"反对": 2,
|
||||
}
|
||||
|
||||
"""计算并变更关系值"""
|
||||
stancedict = {"支持": 0, "中立": 1, "反对": 2}
|
||||
valuedict = {
|
||||
"开心": 1.5,
|
||||
"愤怒": -2.0,
|
||||
"悲伤": -0.5,
|
||||
"惊讶": 0.6,
|
||||
"害羞": 2.0,
|
||||
"平静": 0.3,
|
||||
"恐惧": -1.5,
|
||||
"厌恶": -1.0,
|
||||
"困惑": 0.5,
|
||||
"开心": 1.5, "愤怒": -2.0, "悲伤": -0.5, "惊讶": 0.6, "害羞": 2.0,
|
||||
"平静": 0.3, "恐惧": -1.5, "厌恶": -1.0, "困惑": 0.5,
|
||||
}
|
||||
|
||||
person_id = person_info_manager.get_person_id(chat_stream.user_info.platform, chat_stream.user_info.user_id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue