feat: Send notice to master when sending group messages is banned
This commit is contained in:
@@ -40,6 +40,9 @@ class Bot(BaseModel):
|
|||||||
__at_all_limited: Optional[int] = PrivateAttr()
|
__at_all_limited: Optional[int] = PrivateAttr()
|
||||||
"""@全体成员次数用尽时所在日期"""
|
"""@全体成员次数用尽时所在日期"""
|
||||||
|
|
||||||
|
__banned: Optional[bool] = PrivateAttr()
|
||||||
|
"""当前是否被风控"""
|
||||||
|
|
||||||
__queue: Optional[List[Message]] = PrivateAttr()
|
__queue: Optional[List[Message]] = PrivateAttr()
|
||||||
"""消息补发队列"""
|
"""消息补发队列"""
|
||||||
|
|
||||||
@@ -56,6 +59,7 @@ class Bot(BaseModel):
|
|||||||
log_config=LogConfig(log_level="DEBUG")
|
log_config=LogConfig(log_level="DEBUG")
|
||||||
)
|
)
|
||||||
self.__at_all_limited = time.localtime(time.time() - 86400).tm_yday
|
self.__at_all_limited = time.localtime(time.time() - 86400).tm_yday
|
||||||
|
self.__banned = False
|
||||||
self.__queue = []
|
self.__queue = []
|
||||||
|
|
||||||
# 注入 Bot 实例引用
|
# 注入 Bot 实例引用
|
||||||
@@ -98,6 +102,12 @@ class Bot(BaseModel):
|
|||||||
exception = AtAllLimitedException()
|
exception = AtAllLimitedException()
|
||||||
self.__at_all_limited = time.localtime(time.time()).tm_yday
|
self.__at_all_limited = time.localtime(time.time()).tm_yday
|
||||||
continue
|
continue
|
||||||
|
elif "LIMITED_MESSAGING" in str(ex):
|
||||||
|
logger.error(f"受风控影响, 发送群消息失败, 需人工通过验证码验证, 群号: {msg.id}")
|
||||||
|
if config.get("MASTER_QQ"):
|
||||||
|
await self.__bot.send_friend_message(config.get("MASTER_QQ"), config.get("BAN_NOTICE"))
|
||||||
|
else:
|
||||||
|
logger.warning("未设置主人 QQ, 无法发送提醒消息, 可使用 config.set(\"MASTER_QQ\", QQ号) 进行设置")
|
||||||
else:
|
else:
|
||||||
logger.exception("消息推送模块异常", ex)
|
logger.exception("消息推送模块异常", ex)
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -110,6 +110,8 @@ SIMPLE_CONFIG = {
|
|||||||
# 每个群动态 @ 我命令人数上限,单次 @ 人数过多容易被风控,不推荐修改
|
# 每个群动态 @ 我命令人数上限,单次 @ 人数过多容易被风控,不推荐修改
|
||||||
"COMMAND_DYNAMIC_AT_ME_LIMIT": 20,
|
"COMMAND_DYNAMIC_AT_ME_LIMIT": 20,
|
||||||
|
|
||||||
|
# 被风控时,发送给主人 QQ 的提醒消息
|
||||||
|
"BAN_NOTICE": "发送消息失败, 请手动通过验证码验证~",
|
||||||
# 是否启用风控消息补发,暂未实现
|
# 是否启用风控消息补发,暂未实现
|
||||||
"BAN_RESEND": False,
|
"BAN_RESEND": False,
|
||||||
# 风控发送失败消息滞留时间上限,消息因风控滞留超出此时长不会进行补发,0 为无限制,单位:秒,暂未实现
|
# 风控发送失败消息滞留时间上限,消息因风控滞留超出此时长不会进行补发,0 为无限制,单位:秒,暂未实现
|
||||||
@@ -228,6 +230,8 @@ FULL_CONFIG = {
|
|||||||
# 每个群动态 @ 我命令人数上限,单次 @ 人数过多容易被风控,不推荐修改
|
# 每个群动态 @ 我命令人数上限,单次 @ 人数过多容易被风控,不推荐修改
|
||||||
"COMMAND_DYNAMIC_AT_ME_LIMIT": 20,
|
"COMMAND_DYNAMIC_AT_ME_LIMIT": 20,
|
||||||
|
|
||||||
|
# 被风控时,发送给主人 QQ 的提醒消息
|
||||||
|
"BAN_NOTICE": "发送消息失败, 请手动通过验证码验证~",
|
||||||
# 是否启用风控消息补发,暂未实现
|
# 是否启用风控消息补发,暂未实现
|
||||||
"BAN_RESEND": True,
|
"BAN_RESEND": True,
|
||||||
# 风控发送失败消息滞留时间上限,消息因风控滞留超出此时长不会进行补发,0 为无限制,单位:秒,暂未实现
|
# 风控发送失败消息滞留时间上限,消息因风控滞留超出此时长不会进行补发,0 为无限制,单位:秒,暂未实现
|
||||||
|
|||||||
Reference in New Issue
Block a user