refactor code

This commit is contained in:
hibiki
2021-07-30 21:21:51 +08:00
parent 2ad891aa1e
commit cc24822dca
165 changed files with 7815 additions and 8174 deletions
+66 -34
View File
@@ -1,22 +1,22 @@
from nonebot import on_command
from nonebot.typing import T_State
from nonebot.adapters.cqhttp import Bot, MessageEvent, Message
from nonebot.adapters.cqhttp import Bot, MessageEvent, Message, GroupMessageEvent
from nonebot.permission import SUPERUSER
from utils.utils import get_message_text, is_number, get_message_imgs
from utils.init_result import image
from utils.message_builder import image
from services.log import logger
from utils.init_result import at
from utils.message_builder import at
__plugin_name__ = '联系管理员'
__plugin_usage__ = '用法:滴滴滴- [消息]'
__plugin_name__ = "联系管理员"
__plugin_usage__ = "用法:滴滴滴- [消息]"
dialogue_data = {}
dialogue = on_command("[滴滴滴]", aliases={"滴滴滴-"}, priority=1, block=True)
reply = on_command("/t", priority=1, permission=SUPERUSER, block=True)
reply = on_command("/t", priority=1, permission=SUPERUSER, block=True)
@dialogue.handle()
@@ -24,21 +24,41 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
uid = event.user_id
coffee = int(list(bot.config.superusers)[0])
text = get_message_text(event.json())
img_msg = ''
img_msg = ""
for img in get_message_imgs(event.json()):
img_msg += image(img)
if not text or text in ['帮助']:
if not text or text in ["帮助"]:
await dialogue.send("请发送[滴滴滴]+您要说的内容~", at_sender=True)
else:
if event.get_event_name() == "message.private.friend":
group_id = 0
else:
group_id = 0
group_name = "None"
nickname = event.sender.nickname
if isinstance(event, GroupMessageEvent):
group_id = event.group_id
await bot.send_private_msg(user_id=coffee, message=Message(f'Q{uid}@群{group_id}\n{text} {img_msg}'))
await dialogue.send(Message(f'您的话已发送至管理员!\n======\n{text}{img_msg}'), at_sender=True)
group_name = (await bot.get_group_info(group_id=event.group_id))[
"group_name"
]
nickname = event.sender.card if event.sender.card else event.sender.nickname
await bot.send_private_msg(
user_id=coffee,
message=Message(
f"*****一份交流报告*****\n"
f"昵称:{nickname}({uid})\n"
f"群聊:{group_name}({group_id})\n"
f"消息:{text} {img_msg}"
),
)
await dialogue.send(
Message(f"您的话已发送至管理员!\n======\n{text}{img_msg}"), at_sender=True
)
nickname = event.sender.nickname if event.sender.nickname else event.sender.card
dialogue_data[len(dialogue_data)] = {'nickname': nickname, 'user_id': event.user_id,
'group_id': group_id, 'msg': text}
dialogue_data[len(dialogue_data)] = {
"nickname": nickname,
"user_id": event.user_id,
"group_id": group_id,
"group_name": group_name,
"msg": f'{text} {img_msg}',
}
# print(dialogue_data)
logger.info(f"Q{uid}@群{group_id} 联系管理员:{coffee} text:{text}")
@@ -46,19 +66,26 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
@reply.handle()
async def _(bot: Bot, event: MessageEvent, state: T_State):
msg = get_message_text(event.json())
if msg in ['帮助']:
await reply.finish(f'/t [qq] [group] [text] -> 回复指定用户\n'
f'/t [qq] [text] -> 私聊用户\n'
f'/t -1 [group] -> 在某群发送消息\n'
f'/t [id] [text] -> 回复指定id的对话')
if msg in ["帮助"]:
await reply.finish(
f"/t [qq] [group] [text] -> 回复指定用户\n"
f"/t [qq] [text] -> 私聊用户\n"
f"/t -1 [group] -> 在某群发送消息\n"
f"/t [id] [text] -> 回复指定id的对话"
)
if not msg:
result = ''
result = "*****待回复消息总览*****\n"
for key in dialogue_data.keys():
result += f'{key}:{dialogue_data[key]["nickname"]}({dialogue_data[key]["user_id"]})' \
f' @群 {dialogue_data[key]["group_id"]}\n-------\n{dialogue_data[key]["msg"]}\n-------\n'
await reply.finish(result[:-1])
msg = msg.split(" ")
text = ''
result += (
f'id:{key}\n'
f'\t昵称:{dialogue_data[key]["nickname"]}({dialogue_data[key]["user_id"]})\n'
f'\t群群:{dialogue_data[key]["group_name"]}({dialogue_data[key]["group_id"]})\n'
f'\t消息:{dialogue_data[key]["msg"]}'
f'\n--------------------\n'
)
await reply.finish(Message(result[:-1]))
msg = msg.split()
text = ""
group_id = 0
user_id = -1
if is_number(msg[0]):
@@ -76,7 +103,7 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
group_id = int(msg[1])
text = msg[2]
else:
await reply.finish('群号错误...', at_sender=True)
await reply.finish("群号错误...", at_sender=True)
else:
user_id = int(msg[0])
if is_number(msg[1]) and len(msg[1]) > 5:
@@ -86,19 +113,24 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
group_id = 0
text = msg[1]
else:
await reply.finish('请输入数字..', at_sender=True)
await reply.finish("第一参数,请输入数字.....", at_sender=True)
for img in get_message_imgs(event.json()):
text += image(img)
if group_id:
if user_id:
await bot.send_group_msg(group_id=group_id, message=at(user_id) + "\n管理员回复\n=======\n" + text)
await reply.finish("发送成功", at_sender=True)
await bot.send_group_msg(
group_id=group_id, message=at(user_id) + "\n管理员回复\n=======\n" + text
)
else:
await bot.send_group_msg(group_id=group_id, message=text)
await reply.finish("发送成功", at_sender=True)
await reply.finish("消息发送成功...", at_sender=True)
else:
if user_id in [qq['user_id'] for qq in await bot.get_friend_list()]:
await bot.send_private_msg(user_id=user_id, message="管理员回复\n=======\n" + text)
if user_id in [qq["user_id"] for qq in await bot.get_friend_list()]:
await bot.send_private_msg(
user_id=user_id, message="管理员回复\n=======\n" + text
)
await reply.finish("发送成功", at_sender=True)
else:
await reply.send(f"对象不是{list(bot.config.nickname)[0]}的好友...", at_sender=True)
await reply.send(
f"对象不是{list(bot.config.nickname)[0]}的好友...", at_sender=True
)