Files
HeXi/hexi/plugins/nonebot_plugin_group_tools/services/profile.py
T
sansenhoshi 131b92b319 结构调整
视频解析多图/多媒体结构 消息体适配
2026-09-08 14:25:32 +08:00

77 lines
3.0 KiB
Python

from nonebot.adapters.onebot.v11 import Bot, GroupMessageEvent
from nonebot_plugin_alconna import UniMessage
from hexi.core.custom_utils import check_manage
from ..utils.permissions import is_bot_manage, self_member_info
async def title_get(
bot: Bot, ev: GroupMessageEvent, uid: int, sid: int, gid: int, title: str | None
):
"""头衔申请/删除"""
self_info = await self_member_info(bot, gid)
if not self_info or self_info["role"] != "owner":
await UniMessage.text(
"\n嘻嘻嘻,把群转移给我才能用这个功能哦!\n我才不告诉你可以去qun.qq.com里找回群主权限呢!"
).send(at_sender=True)
return
if uid != sid and not await check_manage(bot, ev):
await UniMessage.text("只有管理员才可以对别人的头衔进行操作哦~").send(at_sender=True)
return
try:
await bot.set_group_special_title(
group_id=gid, user_id=sid, special_title=title, duration=-1
)
if not title:
await UniMessage.at(user_id=str(sid)).text("喜提没有头衔的头衔~").send()
else:
await (
UniMessage.text("已为")
.at(user_id=str(sid))
.text(f"发放专属头衔“{title}”~")
.send()
)
except Exception as e:
await UniMessage.text(f"诶...头衔呢?\n错误代码:{e}").send(at_sender=True)
async def card_edit(
bot: Bot, ev: GroupMessageEvent, uid: int, sid: int, gid: int, card_text: str
):
"""群名片修改"""
self_info = await self_member_info(bot, gid)
if not is_bot_manage(self_info):
await UniMessage.text("\n我日,不给我管理改锤子名片").send(at_sender=True)
return
if uid != sid and not await check_manage(bot, ev):
await UniMessage.text("只有狗管理才能给别人设置名片了啦!").send(at_sender=True)
return
try:
await bot.set_group_card(group_id=gid, user_id=sid, card=card_text)
await (
UniMessage.text("已经把")
.at(user_id=str(sid))
.text(f"的群名片修改为“{card_text}”啦~")
.send()
)
except Exception as e:
await UniMessage.text(f"修改群名片失败勒...\n错误代码:{e}").send(at_sender=True)
async def group_name(bot: Bot, ev: GroupMessageEvent, gid: int, name_text: str):
"""群名修改"""
self_info = await self_member_info(bot, gid)
if not is_bot_manage(self_info):
await UniMessage.text("\n我还没获得管理权限呢...").send(at_sender=True)
return
if not await check_manage(bot, ev):
await UniMessage.text("只有狗管理才能修改群名哦!").send(at_sender=True)
return
try:
await bot.set_group_name(group_id=gid, name=name_text)
await UniMessage.text(f"群名已修改为“{name_text}”啦").send()
except Exception as e:
await UniMessage.text(f"群名修改失败惹...\n错误代码:{e}").send(at_sender=True)