fix: make bot identity platform-aware
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
# TODO: 这个函数的实现非常临时,后续需要替换为更完善的实现,比如直接从配置文件中读取机器人自己的 ID,或者通过 API 获取机器人自己的信息等
|
||||
def is_bot_self(user_id: str, platform: str) -> bool:
|
||||
# TODO: 这个兼容包装层后续可以删除,统一直接使用 src.chat.utils.utils.is_bot_self
|
||||
def is_bot_self(platform: str, user_id: str) -> bool:
|
||||
"""
|
||||
判断用户 ID 是否是机器人自己
|
||||
判断用户 ID 是否是机器人自己。
|
||||
|
||||
临时方法,后续会替换为更完善的实现
|
||||
当前仅保留兼容入口,真实实现委托给统一的多平台判断函数。
|
||||
"""
|
||||
return user_id == "bot_self" and platform == "test_platform"
|
||||
from src.chat.utils.utils import is_bot_self as _is_bot_self
|
||||
|
||||
return _is_bot_self(platform, user_id)
|
||||
|
||||
@@ -367,7 +367,7 @@ class MessageUtils:
|
||||
anonymous_name = anonymize_mapping[msg_usr_info.user_id][0]
|
||||
new_message.message_info.user_info.user_nickname = anonymous_name
|
||||
new_message.message_info.user_info.user_cardname = anonymous_name
|
||||
if replace_bot_name and target_bot_name and is_bot_self(msg_usr_info.user_id, platform):
|
||||
if replace_bot_name and target_bot_name and is_bot_self(platform, msg_usr_info.user_id):
|
||||
new_message.message_info.user_info.user_nickname = target_bot_name
|
||||
new_message.message_info.user_info.user_cardname = target_bot_name
|
||||
return new_message
|
||||
@@ -437,7 +437,7 @@ class MessageUtils:
|
||||
anonymous_name = anonymize_mapping[user_id][0]
|
||||
component.target_user_nickname = anonymous_name
|
||||
component.target_user_cardname = anonymous_name
|
||||
if replace_bot_name and target_bot_name and is_bot_self(user_id, platform):
|
||||
if replace_bot_name and target_bot_name and is_bot_self(platform, user_id):
|
||||
component.target_user_nickname = target_bot_name
|
||||
component.target_user_cardname = target_bot_name
|
||||
return component
|
||||
@@ -473,7 +473,7 @@ class MessageUtils:
|
||||
anonymous_name = anonymize_mapping[user_id][0]
|
||||
comp.user_nickname = anonymous_name
|
||||
comp.user_cardname = anonymous_name
|
||||
if replace_bot_name and target_bot_name and is_bot_self(user_id, platform):
|
||||
if replace_bot_name and target_bot_name and is_bot_self(platform, user_id):
|
||||
comp.user_nickname = target_bot_name
|
||||
comp.user_cardname = target_bot_name
|
||||
comp.content = [ # 递归处理转发消息中的组件
|
||||
@@ -512,7 +512,7 @@ class MessageUtils:
|
||||
anonymous_name = anonymize_mapping[user_id][0]
|
||||
component.target_message_sender_nickname = anonymous_name
|
||||
component.target_message_sender_cardname = anonymous_name
|
||||
if replace_bot_name and target_bot_name and is_bot_self(user_id, platform):
|
||||
if replace_bot_name and target_bot_name and is_bot_self(platform, user_id):
|
||||
component.target_message_sender_nickname = target_bot_name
|
||||
component.target_message_sender_cardname = target_bot_name
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user