✨ 引用消息同意好友/群组请求 (#1902)

* ✨ 提供event日志表, 新增引用消息同意好友/群组请求

* ⚡ 移除城市列表更新

* ✨ 新增申请入群功能

* 💬 文本修改
This commit is contained in:
HibiKier
2025-06-09 14:39:28 +08:00
committed by GitHub
parent a8447b7074
commit 611f0b62ba
11 changed files with 265 additions and 92 deletions
+15
View File
@@ -14,6 +14,19 @@ class BankHandleType(StrEnum):
"""利息"""
class EventLogType(StrEnum):
GROUP_MEMBER_INCREASE = "GROUP_MEMBER_INCREASE"
"""群成员增加"""
GROUP_MEMBER_DECREASE = "GROUP_MEMBER_DECREASE"
"""群成员减少"""
KICK_MEMBER = "KICK_MEMBER"
"""踢出群成员"""
KICK_BOT = "KICK_BOT"
"""踢出Bot"""
LEAVE_MEMBER = "LEAVE_MEMBER"
"""主动退群"""
class GoldHandle(StrEnum):
"""
金币处理
@@ -105,7 +118,9 @@ class RequestType(StrEnum):
"""
FRIEND = "FRIEND"
"""好友"""
GROUP = "GROUP"
"""群组"""
class RequestHandleType(StrEnum):
+26 -8
View File
@@ -83,7 +83,7 @@ class PlatformUtils:
bot: Bot,
message: UniMessage | str,
superuser_id: str | None = None,
) -> Receipt | None:
) -> list[tuple[str, Receipt]]:
"""发送消息给超级用户
参数:
@@ -97,15 +97,33 @@ class PlatformUtils:
返回:
Receipt | None: Receipt
"""
if not superuser_id:
if platform := cls.get_platform(bot):
if platform_superusers := BotConfig.get_superuser(platform):
superuser_id = random.choice(platform_superusers)
else:
raise NotFindSuperuser()
superuser_ids = []
if superuser_id:
superuser_ids.append(superuser_id)
elif platform := cls.get_platform(bot):
if platform_superusers := BotConfig.get_superuser(platform):
superuser_ids = platform_superusers
else:
raise NotFindSuperuser()
if isinstance(message, str):
message = MessageUtils.build_message(message)
return await cls.send_message(bot, superuser_id, None, message)
result = []
for superuser_id in superuser_ids:
try:
result.append(
(
superuser_id,
await cls.send_message(bot, superuser_id, None, message),
)
)
except Exception as e:
logger.error(
"发送消息给超级用户失败",
"PlatformUtils:send_superuser",
target=superuser_id,
e=e,
)
return result
@classmethod
async def get_group_member_list(cls, bot: Bot, group_id: str) -> list[UserData]: