feat:私聊现有白名单
This commit is contained in:
@@ -268,6 +268,7 @@ class BotConfig:
|
|||||||
# experimental
|
# experimental
|
||||||
enable_friend_chat: bool = False # 是否启用好友聊天
|
enable_friend_chat: bool = False # 是否启用好友聊天
|
||||||
# enable_think_flow: bool = False # 是否启用思考流程
|
# enable_think_flow: bool = False # 是否启用思考流程
|
||||||
|
talk_allowed_private = set()
|
||||||
enable_pfc_chatting: bool = False # 是否启用PFC聊天
|
enable_pfc_chatting: bool = False # 是否启用PFC聊天
|
||||||
|
|
||||||
# 模型配置
|
# 模型配置
|
||||||
@@ -651,6 +652,7 @@ class BotConfig:
|
|||||||
experimental_config = parent["experimental"]
|
experimental_config = parent["experimental"]
|
||||||
config.enable_friend_chat = experimental_config.get("enable_friend_chat", config.enable_friend_chat)
|
config.enable_friend_chat = experimental_config.get("enable_friend_chat", config.enable_friend_chat)
|
||||||
# config.enable_think_flow = experimental_config.get("enable_think_flow", config.enable_think_flow)
|
# config.enable_think_flow = experimental_config.get("enable_think_flow", config.enable_think_flow)
|
||||||
|
config.talk_allowed_private = set(str(user) for user in experimental_config.get("talk_allowed_private", []))
|
||||||
if config.INNER_VERSION in SpecifierSet(">=1.1.0"):
|
if config.INNER_VERSION in SpecifierSet(">=1.1.0"):
|
||||||
config.enable_pfc_chatting = experimental_config.get("pfc_chatting", config.enable_pfc_chatting)
|
config.enable_pfc_chatting = experimental_config.get("pfc_chatting", config.enable_pfc_chatting)
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,14 @@ class ChatBot:
|
|||||||
logger.debug(f"用户{userinfo.user_id}被禁止回复")
|
logger.debug(f"用户{userinfo.user_id}被禁止回复")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if groupinfo is None:
|
||||||
|
logger.trace("检测到私聊消息,检查")
|
||||||
|
# 好友黑名单拦截
|
||||||
|
if userinfo.user_id not in global_config.talk_allowed_private:
|
||||||
|
logger.debug(f"用户{userinfo.user_id}没有私聊权限")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
# 群聊黑名单拦截
|
# 群聊黑名单拦截
|
||||||
if groupinfo is not None and groupinfo.group_id not in global_config.talk_allowed_groups:
|
if groupinfo is not None and groupinfo.group_id not in global_config.talk_allowed_groups:
|
||||||
logger.trace(f"群{groupinfo.group_id}被禁止回复")
|
logger.trace(f"群{groupinfo.group_id}被禁止回复")
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[inner]
|
[inner]
|
||||||
version = "1.6.0"
|
version = "1.6.1"
|
||||||
|
|
||||||
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
||||||
#如果你想要修改配置文件,请在修改后将version的值进行变更
|
#如果你想要修改配置文件,请在修改后将version的值进行变更
|
||||||
@@ -186,6 +186,7 @@ enable = true
|
|||||||
|
|
||||||
[experimental] #实验性功能
|
[experimental] #实验性功能
|
||||||
enable_friend_chat = false # 是否启用好友聊天
|
enable_friend_chat = false # 是否启用好友聊天
|
||||||
|
talk_allowed_private = [] # 可以回复消息的QQ号
|
||||||
pfc_chatting = false # 是否启用PFC聊天,该功能仅作用于私聊,与回复模式独立
|
pfc_chatting = false # 是否启用PFC聊天,该功能仅作用于私聊,与回复模式独立
|
||||||
|
|
||||||
#下面的模型若使用硅基流动则不需要更改,使用ds官方则改成.env自定义的宏,使用自定义模型则选择定位相似的模型自己填写
|
#下面的模型若使用硅基流动则不需要更改,使用ds官方则改成.env自定义的宏,使用自定义模型则选择定位相似的模型自己填写
|
||||||
|
|||||||
Reference in New Issue
Block a user