mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
✨ 提供qq协议端判断方法
This commit is contained in:
parent
4ed1791b30
commit
a77d350dfb
@ -156,43 +156,44 @@ class PlatformUtils:
|
|||||||
返回:
|
返回:
|
||||||
UserData | None: 用户数据
|
UserData | None: 用户数据
|
||||||
"""
|
"""
|
||||||
if interface := get_interface(bot):
|
if not (interface := get_interface(bot)):
|
||||||
member = None
|
return None
|
||||||
user = None
|
member = None
|
||||||
if channel_id:
|
user = None
|
||||||
member = await interface.get_member(
|
if channel_id:
|
||||||
SceneType.CHANNEL_TEXT, channel_id, user_id
|
member = await interface.get_member(
|
||||||
)
|
SceneType.CHANNEL_TEXT, channel_id, user_id
|
||||||
if member:
|
)
|
||||||
user = member.user
|
|
||||||
elif group_id:
|
|
||||||
member = await interface.get_member(SceneType.GROUP, group_id, user_id)
|
|
||||||
if member:
|
|
||||||
user = member.user
|
|
||||||
else:
|
|
||||||
user = await interface.get_user(user_id)
|
|
||||||
if not user:
|
|
||||||
return None
|
|
||||||
if member:
|
if member:
|
||||||
return UserData(
|
user = member.user
|
||||||
name=user.name or "",
|
elif group_id:
|
||||||
card=member.nick,
|
member = await interface.get_member(SceneType.GROUP, group_id, user_id)
|
||||||
user_id=user.id,
|
if member:
|
||||||
group_id=group_id,
|
user = member.user
|
||||||
channel_id=channel_id,
|
else:
|
||||||
role=member.role.id if member.role else None,
|
user = await interface.get_user(user_id)
|
||||||
join_time=int(member.joined_at.timestamp())
|
if not user:
|
||||||
if member.joined_at
|
return None
|
||||||
else None,
|
return (
|
||||||
)
|
UserData(
|
||||||
else:
|
name=user.name or "",
|
||||||
return UserData(
|
card=member.nick,
|
||||||
name=user.name or "",
|
user_id=user.id,
|
||||||
user_id=user.id,
|
group_id=group_id,
|
||||||
group_id=group_id,
|
channel_id=channel_id,
|
||||||
channel_id=channel_id,
|
role=member.role.id if member.role else None,
|
||||||
)
|
join_time=(
|
||||||
return None
|
int(member.joined_at.timestamp()) if member.joined_at else None
|
||||||
|
),
|
||||||
|
)
|
||||||
|
if member
|
||||||
|
else UserData(
|
||||||
|
name=user.name or "",
|
||||||
|
user_id=user.id,
|
||||||
|
group_id=group_id,
|
||||||
|
channel_id=channel_id,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def get_user_avatar(
|
async def get_user_avatar(
|
||||||
@ -343,6 +344,23 @@ class PlatformUtils:
|
|||||||
return "qq" if platform.startswith("qq") else platform
|
return "qq" if platform.startswith("qq") else platform
|
||||||
return "unknown"
|
return "unknown"
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def is_forward_merge_supported(cls, t: Bot | Uninfo) -> bool:
|
||||||
|
"""是否支持转发消息
|
||||||
|
|
||||||
|
参数:
|
||||||
|
t: bot | Uninfo
|
||||||
|
|
||||||
|
返回:
|
||||||
|
bool: 是否支持转发消息
|
||||||
|
"""
|
||||||
|
if not isinstance(t, Bot):
|
||||||
|
return t.basic["scope"] == SupportScope.qq_client
|
||||||
|
if interface := get_interface(t):
|
||||||
|
info = interface.basic_info()
|
||||||
|
return info["scope"] == SupportScope.qq_client
|
||||||
|
return False
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def get_group_list(
|
async def get_group_list(
|
||||||
cls, bot: Bot, only_group: bool = False
|
cls, bot: Bot, only_group: bool = False
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user