mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
🐛 修复群组入群与退群提示
This commit is contained in:
parent
f8e65030f1
commit
d682892195
@ -103,7 +103,7 @@ group_increase_handle = on_notice(
|
|||||||
group_decrease_handle = on_notice(
|
group_decrease_handle = on_notice(
|
||||||
priority=1,
|
priority=1,
|
||||||
block=False,
|
block=False,
|
||||||
rule=notice_rule([GroupMemberDecreaseEvent, GroupMemberIncreaseEvent]),
|
rule=notice_rule([GroupMemberDecreaseEvent, GroupDecreaseNoticeEvent]),
|
||||||
)
|
)
|
||||||
"""群员减少处理"""
|
"""群员减少处理"""
|
||||||
add_group = on_request(priority=1, block=False)
|
add_group = on_request(priority=1, block=False)
|
||||||
|
|||||||
@ -4,6 +4,7 @@ from pathlib import Path
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
|
from nonebot.exception import ActionFailed
|
||||||
from nonebot_plugin_alconna import At, UniMessage
|
from nonebot_plugin_alconna import At, UniMessage
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
import ujson as json
|
import ujson as json
|
||||||
@ -54,7 +55,7 @@ class GroupManager:
|
|||||||
if plugin_list := await PluginInfo.filter(default_status=False).all():
|
if plugin_list := await PluginInfo.filter(default_status=False).all():
|
||||||
for plugin in plugin_list:
|
for plugin in plugin_list:
|
||||||
block_plugin += f"<{plugin.module},"
|
block_plugin += f"<{plugin.module},"
|
||||||
group_info = await bot.get_group_info(group_id=group_id)
|
group_info = await bot.get_group_info(group_id=group_id, no_cache=True)
|
||||||
await GroupConsole.create(
|
await GroupConsole.create(
|
||||||
group_id=group_info["group_id"],
|
group_id=group_info["group_id"],
|
||||||
group_name=group_info["group_name"],
|
group_name=group_info["group_name"],
|
||||||
@ -215,17 +216,14 @@ class GroupManager:
|
|||||||
msg_list.insert(0, At("user", user_id))
|
msg_list.insert(0, At("user", user_id))
|
||||||
logger.info("发送群欢迎消息...", "入群检测", session=session)
|
logger.info("发送群欢迎消息...", "入群检测", session=session)
|
||||||
if msg_list:
|
if msg_list:
|
||||||
await MessageUtils.build_message(msg_list).send() # type: ignore
|
await MessageUtils.build_message(msg_list).finish() # type: ignore
|
||||||
else:
|
image = DEFAULT_IMAGE_PATH / random.choice(os.listdir(DEFAULT_IMAGE_PATH))
|
||||||
image = DEFAULT_IMAGE_PATH / random.choice(
|
await MessageUtils.build_message(
|
||||||
os.listdir(DEFAULT_IMAGE_PATH)
|
[
|
||||||
)
|
"新人快跑啊!!本群现状↓(快使用自定义群欢迎消息!)",
|
||||||
await MessageUtils.build_message(
|
image,
|
||||||
[
|
]
|
||||||
"新人快跑啊!!本群现状↓(快使用自定义群欢迎消息!)",
|
).send()
|
||||||
image,
|
|
||||||
]
|
|
||||||
).send()
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def add_user(cls, session: Uninfo, bot: Bot, user_id: str, group_id: str):
|
async def add_user(cls, session: Uninfo, bot: Bot, user_id: str, group_id: str):
|
||||||
@ -237,11 +235,19 @@ class GroupManager:
|
|||||||
group_id: 群组id
|
group_id: 群组id
|
||||||
"""
|
"""
|
||||||
join_time = datetime.now()
|
join_time = datetime.now()
|
||||||
user_info = await bot.get_group_member_info(group_id=group_id, user_id=user_id)
|
try:
|
||||||
|
user_info = await bot.get_group_member_info(
|
||||||
|
group_id=group_id, user_id=user_id, no_cache=True
|
||||||
|
)
|
||||||
|
except ActionFailed:
|
||||||
|
user_info = {"user_id": user_id, "group_id": group_id, "nickname": ""}
|
||||||
await GroupInfoUser.update_or_create(
|
await GroupInfoUser.update_or_create(
|
||||||
user_id=str(user_info["user_id"]),
|
user_id=str(user_info["user_id"]),
|
||||||
group_id=str(user_info["group_id"]),
|
group_id=str(user_info["group_id"]),
|
||||||
defaults={"user_name": user_info["nickname"], "user_join_time": join_time},
|
defaults={
|
||||||
|
"user_name": user_info["nickname"],
|
||||||
|
"user_join_time": join_time,
|
||||||
|
},
|
||||||
)
|
)
|
||||||
logger.info(f"用户{user_info['user_id']} 所属{user_info['group_id']} 更新成功")
|
logger.info(f"用户{user_info['user_id']} 所属{user_info['group_id']} 更新成功")
|
||||||
if not await CommonUtils.task_is_block(
|
if not await CommonUtils.task_is_block(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user