fix: Removed obsolete anti-spam policy checks requiring AFK solutions
This commit is contained in:
parent
5b9dfae594
commit
36788e7dc8
@ -7,7 +7,7 @@ from graia.ariadne import Ariadne
|
||||
from graia.ariadne.connection.config import config as AriadneConfig, HttpClientConfig, WebsocketClientConfig
|
||||
from graia.ariadne.exception import RemoteException, AccountMuted, UnknownTarget
|
||||
from graia.ariadne.message.chain import MessageChain
|
||||
from graia.ariadne.message.element import At, AtAll, Source
|
||||
from graia.ariadne.message.element import At, AtAll
|
||||
from graia.ariadne.model import LogConfig, MemberPerm
|
||||
from loguru import logger
|
||||
from pydantic import BaseModel, PrivateAttr
|
||||
@ -96,9 +96,7 @@ class Bot(BaseModel):
|
||||
self.__queue.pop(0)
|
||||
continue
|
||||
try:
|
||||
active = await self.__bot.send_group_message(msg_id, message)
|
||||
if active.message_chain[Source][0].id < 0:
|
||||
raise RemoteException("MESSAGE_BANNED")
|
||||
await self.__bot.send_group_message(msg_id, message)
|
||||
self.__banned = False
|
||||
logger.info(f"{self.qq} -> 群[{msg_id}] : {message.safe_display}")
|
||||
self.__queue.pop(0)
|
||||
@ -127,19 +125,6 @@ class Bot(BaseModel):
|
||||
else:
|
||||
logger.warning("未设置主人 QQ, 无法发送提醒消息, 可使用 config.set(\"MASTER_QQ\", QQ号) 进行设置")
|
||||
return
|
||||
elif "MESSAGE_BANNED" in str(ex):
|
||||
self.__banned = True
|
||||
config.set("BAN_CONTINUE_SEND_MESSAGE", False)
|
||||
logger.error(
|
||||
"消息补发期间再次触发风控, 已停止尝试消息推送, 后续消息将会被暂存, "
|
||||
f"请挂机一段时间后使用 \"补发\" 命令恢复消息发送, 群号: {msg_id}"
|
||||
)
|
||||
if config.get("MASTER_QQ"):
|
||||
notice = "消息补发期间再次触发风控, 请挂机一段时间后重新发送 \"补发\" 命令~"
|
||||
await self.__bot.send_friend_message(config.get("MASTER_QQ"), notice)
|
||||
else:
|
||||
logger.warning("未设置主人 QQ, 无法发送提醒消息, 可使用 config.set(\"MASTER_QQ\", QQ号) 进行设置")
|
||||
return
|
||||
else:
|
||||
logger.exception("消息推送模块异常", ex)
|
||||
if config.get("MASTER_QQ"):
|
||||
@ -182,9 +167,7 @@ class Bot(BaseModel):
|
||||
self.__queue.append((msg.id, message, msg.get_time()))
|
||||
logger.error(f"受风控影响, 要发送的消息已暂存, 请解除风控后使用 \"补发\" 命令恢复, 群号: {msg.id}")
|
||||
continue
|
||||
active = await self.__bot.send_group_message(msg.id, message)
|
||||
if active.message_chain[Source][0].id < 0:
|
||||
raise RemoteException("MESSAGE_BANNED")
|
||||
await self.__bot.send_group_message(msg.id, message)
|
||||
self.__banned = False
|
||||
logger.info(f"{self.qq} -> 群[{msg.id}] : {message.safe_display}")
|
||||
except AccountMuted:
|
||||
@ -212,23 +195,6 @@ class Bot(BaseModel):
|
||||
await self.__bot.send_friend_message(config.get("MASTER_QQ"), config.get("BAN_NOTICE"))
|
||||
else:
|
||||
logger.warning("未设置主人 QQ, 无法发送提醒消息, 可使用 config.set(\"MASTER_QQ\", QQ号) 进行设置")
|
||||
elif "MESSAGE_BANNED" in str(ex):
|
||||
self.__banned = True
|
||||
config.set("BAN_RESEND", True)
|
||||
config.set("BAN_CONTINUE_SEND_MESSAGE", False)
|
||||
logger.error(
|
||||
"受风控影响, 发送群消息失败, 已停止尝试消息推送, 后续消息将会被暂存, "
|
||||
"请挂机一段时间后使用 \"补发\" 命令恢复消息发送, 如不想补发期间漏发的消息, "
|
||||
f"可先使用一次 \"清空补发队列\" 命令, 群号: {msg.id}"
|
||||
)
|
||||
if not config.get("RESEND_AT_MESSAGE"):
|
||||
message = message.exclude(At, AtAll)
|
||||
if len(message) > 0:
|
||||
self.__queue.append((msg.id, message, msg.get_time()))
|
||||
if config.get("MASTER_QQ"):
|
||||
await self.__bot.send_friend_message(config.get("MASTER_QQ"), config.get("BAN_WAIT_NOTICE"))
|
||||
else:
|
||||
logger.warning("未设置主人 QQ, 无法发送提醒消息, 可使用 config.set(\"MASTER_QQ\", QQ号) 进行设置")
|
||||
else:
|
||||
logger.exception("消息推送模块异常", ex)
|
||||
continue
|
||||
|
@ -117,9 +117,6 @@ DEFAULT_CONFIG = {
|
||||
|
||||
# 被风控需通过验证码解决时,发送给主人 QQ 的提醒消息
|
||||
"BAN_NOTICE": "发送消息失败, 请手动通过验证码验证~",
|
||||
# 被风控需挂机一段时间解决时,发送给主人 QQ 的提醒消息
|
||||
"BAN_WAIT_NOTICE": "发送消息失败, 可能需挂机一段时间后恢复, 已停止尝试消息推送, "
|
||||
"请挂机一段时间后使用 \"补发\" 命令恢复消息发送, 如不想补发期间漏发的消息, 可先使用一次 \"清空补发队列\" 命令~",
|
||||
# 是否启用风控消息补发,启用后,因风控导致发送失败的推送消息会被暂存,解除风控后使用 ”补发“ 命令可以补发暂存的消息
|
||||
"BAN_RESEND": True,
|
||||
# 启用风控消息补发时,被风控时是否继续尝试发送消息,关闭后,发生风控时,后续需要发送的消息将不再尝试发送,而是被直接暂存,需使用 ”补发“ 命令后恢复正常,用于防止风控期间频繁尝试发送消息导致更严重的冻结
|
||||
|
Loading…
x
Reference in New Issue
Block a user