From 0d3d479a9b98aab47fb84ce0f5eadff17ff5d046 Mon Sep 17 00:00:00 2001
From: Kyomotoi <1172294279@qq.com>
Date: Tue, 18 Aug 2020 22:47:39 +0800
Subject: [Update]

---
 ATRI/plugins/chat.py | 1081 +++++++++++++++++++++++++++++++++-----------------
 1 file changed, 720 insertions(+), 361 deletions(-)

(limited to 'ATRI/plugins/chat.py')

diff --git a/ATRI/plugins/chat.py b/ATRI/plugins/chat.py
index 13c6747..1089b43 100644
--- a/ATRI/plugins/chat.py
+++ b/ATRI/plugins/chat.py
@@ -9,13 +9,13 @@ from random import randint, choice
 from datetime import datetime, timedelta
 from nonebot import on_command, scheduler
 from nonebot import CommandSession
-from nonebot import on_command
 from apscheduler.triggers.date import DateTrigger
 from nonebot import session
 
 from ATRI.modules import response # type: ignore
 import config # type: ignore
 
+# 手搓仿生人回复,争取破1MB!
 
 bot = nonebot.get_bot()
 master = config.MASTER()
@@ -25,13 +25,15 @@ KC_URL = 'https://nmsl.shadiao.app/api.php?level=min&lang=zh_cn'
 @nonebot.scheduler.scheduled_job(
     'cron',
     day_of_week = "mon,tue,wed,thu,fri,sat,sun",
-    hour = 7
+    hour = 7,
+    misfire_grace_time=60
 )
-async def _(session: CommandSession):
+async def _():
     """早安"""
     try:
         start = time.perf_counter()
         group_list = await bot.get_group_list() #type: ignore
+        groups = [group['group_id'] for group in group_list]
         g_list = len(group_list)
         res = randint(1,2)
         if res == 1:
@@ -55,11 +57,11 @@ async def _(session: CommandSession):
             img = os.path.abspath(img)
             msg = f'[CQ:image,file=file:///{os.path.abspath(img)}]'
 
-        for group in group_list:
-            await bot.send_group_msg(group_id = group['group_id'], message = msg) #type: ignore
+        for group in groups:
+            await bot.send_group_msg(group_id = group, message = msg) #type: ignore
         
         end = time.perf_counter()
-        await session.send(f'已推送到[{g_list}]个群\n耗时:{round(end - start, 3)}')
+        await bot.send_private_msg(user_id = master, message = f'已推送到[{g_list}]个群\n耗时:{round(end - start, 3)}') # type: ignore
     
     except:
         pass
@@ -67,13 +69,15 @@ async def _(session: CommandSession):
 @nonebot.scheduler.scheduled_job(
     'cron',
     day_of_week = "mon,tue,wed,thu,fri,sat,sun",
-    hour = 22
+    hour = 22,
+    misfire_grace_time=60
 )
-async def _(session: CommandSession):
+async def _():
     """晚安"""
     try:
         start = time.perf_counter()
         group_list = await bot.get_group_list() #type: ignore
+        groups = [group['group_id'] for group in group_list]
         g_list = len(group_list)
         res = randint(1,2)
         if res == 1:
@@ -98,15 +102,45 @@ async def _(session: CommandSession):
             img = os.path.abspath(img)
             msg = f'[CQ:image,file=file:///{os.path.abspath(img)}]'
 
-        for group in group_list:
-            await bot.send_group_msg(group_id = group['group_id'], message = msg) #type: ignore
+        for group in groups:
+            await bot.send_group_msg(group_id = group, message = msg) #type: ignore
         
         end = time.perf_counter()
-        await session.send(f'已推送到[{g_list}]个群\n耗时:{round(end - start, 3)}')
+        await bot.send_private_msg(user_id = master, message = f'已推送到[{g_list}]个群\n耗时:{round(end - start, 3)}') # type: ignore
 
     except:
         pass
 
+@nonebot.scheduler.scheduled_job(
+    'cron',
+    day_of_week = "mon,tue,wed,thu,fri,sat,sun",
+    hour = 0,
+    misfire_grace_time=60
+)
+async def _():
+    """到 点 了"""
+    try:
+        start = time.perf_counter()
+        group_list = await bot.get_group_list() # type: ignore
+        groups = [group['group_id'] for group in group_list]
+        g_list = len(group_list)
+        img = choice(
+            [
+                'WYY.gif', 'WYY.jpg', 'WYY1.jpg'
+            ]
+        )
+        img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+        img = os.path.abspath(img)
+        msg = f'[CQ:image,file=file:///{os.path.abspath(img)}]'
+        for group in groups:
+            await bot.send_group_msg(group_id = group, message = msg) #type: ignore
+        
+        end = time.perf_counter()
+        await bot.send_private_msg(user_id = master, message = f'已推送到[{g_list}]个群\n耗时:{round(end - start, 3)}') # type: ignore
+    
+    except:
+        pass
+
 
 def now_time():
     now_ = datetime.now()
@@ -136,477 +170,790 @@ def rmQQfromNoobLIST(user):
 @on_command('morning', patterns = [r"早[安哇]|早上好|ohayo|哦哈哟|お早う"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 5.5 <= now_time() < 9:
-            await session.send(
-                choice(
-                    [
-                        '啊......早上好...(哈欠)',
-                        '唔......吧唧...早上...哈啊啊~~~\n早上好......',
-                        '早上好......',
-                        '早上好呜......呼啊啊~~~~',
-                        '啊......早上好。\n昨晚也很激情呢!',
-                        '吧唧吧唧......怎么了...已经早上了么...',
-                        '早上好!',
-                        '......看起来像是傍晚,其实已经早上了吗?',
-                        '早上好......欸~~~脸好近呢'
-                    ]
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 5.5 <= now_time() < 9:
+                await session.send(
+                    choice(
+                        [
+                            '啊......早上好...(哈欠)',
+                            '唔......吧唧...早上...哈啊啊~~~\n早上好......',
+                            '早上好......',
+                            '早上好呜......呼啊啊~~~~',
+                            '啊......早上好。\n昨晚也很激情呢!',
+                            '吧唧吧唧......怎么了...已经早上了么...',
+                            '早上好!',
+                            '......看起来像是傍晚,其实已经早上了吗?',
+                            '早上好......欸~~~脸好近呢'
+                        ]
+                    )
                 )
-            )
-        
-        elif 9 <= now_time() < 18:
-            await session.send(
-                choice(
-                    [
-                        '哼!这个点还早啥,昨晚干啥去了!?',
-                        '熬夜了对吧熬夜了对吧熬夜了对吧???!',
-                        '是不是熬夜是不是熬夜是不是熬夜?!'
-                    ]
+            
+            elif 9 <= now_time() < 18:
+                await session.send(
+                    choice(
+                        [
+                            '哼!这个点还早啥,昨晚干啥去了!?',
+                            '熬夜了对吧熬夜了对吧熬夜了对吧???!',
+                            '是不是熬夜是不是熬夜是不是熬夜?!'
+                        ]
+                    )
                 )
-            )
-        
-        elif 18 <= now_time() < 24:
-            await session.send(
-                choice(
-                    [
-                        '早个啥?哼唧!我都准备洗洗睡了!',
-                        '不是...你看看几点了,哼!',
-                        '晚上好哇'
-                    ]
+            
+            elif 18 <= now_time() < 24:
+                await session.send(
+                    choice(
+                        [
+                            '早个啥?哼唧!我都准备洗洗睡了!',
+                            '不是...你看看几点了,哼!',
+                            '晚上好哇'
+                        ]
+                    )
                 )
-            )
-        
-        elif 0 <= now_time() < 5.5:
-            await session.send(
-                choice(
-                    [
-                        'zzzz......',
-                        'zzzzzzzz......',
-                        'zzz...好涩哦..zzz....',
-                        '别...不要..zzz..那..zzz..',
-                        '嘻嘻..zzz..呐~..zzzz..',
-                        '...zzz....哧溜哧溜....'
-                    ]
+            
+            elif 0 <= now_time() < 5.5:
+                await session.send(
+                    choice(
+                        [
+                            'zzzz......',
+                            'zzzzzzzz......',
+                            'zzz...好涩哦..zzz....',
+                            '别...不要..zzz..那..zzz..',
+                            '嘻嘻..zzz..呐~..zzzz..',
+                            '...zzz....哧溜哧溜....'
+                        ]
+                    )
                 )
-            )
 
 @on_command('noon', patterns = [r"中午好|午安"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 11 <= now_time() <= 15:
-            await session.send(
-                choice(
-                    [
-                        '午安w','午觉要好好睡哦,ATRI会陪伴在你身旁的w',
-                        '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o',
-                        '睡你午觉去!哼唧!!'
-                    ]
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 11 <= now_time() <= 15:
+                await session.send(
+                    choice(
+                        [
+                            '午安w','午觉要好好睡哦,ATRI会陪伴在你身旁的w',
+                            '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o',
+                            '睡你午觉去!哼唧!!'
+                        ]
+                    )
                 )
-            )
 
 
 @on_command('night', patterns = [r"晚安|oyasuminasai|おやすみなさい"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 5.5 <= now_time() < 11:
-            await session.send(
-                choice(
-                    [
-                        '你可猝死算了吧!',
-                        '?啊这',
-                        '亲,这边建议赶快去睡觉呢~~~',
-                        '不可忍不可忍不可忍!!为何这还不猝死!!'
-                    ]
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 5.5 <= now_time() < 11:
+                await session.send(
+                    choice(
+                        [
+                            '你可猝死算了吧!',
+                            '?啊这',
+                            '亲,这边建议赶快去睡觉呢~~~',
+                            '不可忍不可忍不可忍!!为何这还不猝死!!'
+                        ]
+                    )
                 )
-            )
-        
-        elif 11 <= now_time() < 15:
-            await session.send(
-                choice(
-                    [
-                        '午安w','午觉要好好睡哦,ATRI会陪伴在你身旁的w',
-                        '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o',
-                        '睡你午觉去!哼唧!!'
-                    ]
+            
+            elif 11 <= now_time() < 15:
+                await session.send(
+                    choice(
+                        [
+                            '午安w','午觉要好好睡哦,ATRI会陪伴在你身旁的w',
+                            '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o',
+                            '睡你午觉去!哼唧!!'
+                        ]
+                    )
                 )
-            )
-        
-        elif 15 <= now_time() < 19:
-            await session.send(
-                choice(
-                    [
-                        '难不成??晚上不想睡觉??现在休息',
-                        '就......挺离谱的...现在睡觉',
-                        '现在还是白天哦,睡觉还太早了'
-                    ]
+            
+            elif 15 <= now_time() < 19:
+                await session.send(
+                    choice(
+                        [
+                            '难不成??晚上不想睡觉??现在休息',
+                            '就......挺离谱的...现在睡觉',
+                            '现在还是白天哦,睡觉还太早了'
+                        ]
+                    )
                 )
-            )
-        
-        elif 19 <= now_time() < 24:
-            await session.send(
-                choice(
-                    [
-                        '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o',
-                        '......(打瞌睡)',
-                        '呼...呼...已经睡着了哦~...呼......',
-                        '......我、我会在这守着你的,请务必好好睡着'
-                    ]
+            
+            elif 19 <= now_time() < 24:
+                await session.send(
+                    choice(
+                        [
+                            '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o',
+                            '......(打瞌睡)',
+                            '呼...呼...已经睡着了哦~...呼......',
+                            '......我、我会在这守着你的,请务必好好睡着'
+                        ]
+                    )
                 )
-            )
-        
-        elif 0 <= now_time() < 5.5:
-            await session.send(
-                choice(
-                    [
-                        'zzzz......',
-                        'zzzzzzzz......',
-                        'zzz...好涩哦..zzz....',
-                        '别...不要..zzz..那..zzz..',
-                        '嘻嘻..zzz..呐~..zzzz..'
-                    ]
+            
+            elif 0 <= now_time() < 5.5:
+                await session.send(
+                    choice(
+                        [
+                            'zzzz......',
+                            'zzzzzzzz......',
+                            'zzz...好涩哦..zzz....',
+                            '别...不要..zzz..那..zzz..',
+                            '嘻嘻..zzz..呐~..zzzz..'
+                        ]
+                    )
                 )
-            )
 
 
 @on_command('az', patterns = [r"[aA][zZ]|[阿啊]这"], only_to_me = False)
 async def az(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            res = randint(1,3)
-            if res == 1:
-                # res = random.randint(1,10)
-                img = choice(
-                    [
-                        'AZ.jpg', 'AZ1.jpg', 'AZ2.jpg', 'AZ3.png', 'ZN.jpg'
-                    ]
-                )
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                res = randint(1,3)
+                if res == 1:
+                    # res = random.randint(1,10)
+                    img = choice(
+                        [
+                            'AZ.jpg', 'AZ1.jpg', 'AZ2.jpg', 'AZ3.png', 'ZN.jpg'
+                        ]
+                    )
+                    img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                    img = os.path.abspath(img)
+                    await session.send(f'[CQ:image,file=file:///{img}]')
 
 @on_command('suki', patterns = [r"喜欢|爱你|爱|suki|daisuki|すき|好き|贴贴|老婆|[Mm][Uu][Aa]|亲一个"], only_to_me = True)
 async def az(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
-
-    if str(user) in data.keys():
-        pass
-    else:
-        if 0 <= now_time() < 5.5:
-            pass
-        else:
-            res = randint(1,3)
-            if res == 1:
-                # res = random.randint(1,10)
-                img = choice(
-                    [
-                        'SUKI.jpg', 'SUKI1.jpg', 'SUKI2.png', 'HE1.jpg'
-                    ]
-                )
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
-            
-            elif 2 <= res <= 3:
-                img = choice(
-                    [
-                        'TZ.jpg', 'TZ1.jpg', 'TZ2.jpg'
-                    ]
-                )
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
-
-
-@on_command('wenhao', patterns = [r"'?'|?"], only_to_me = False)
-async def _(session: CommandSession):
-    user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            res = randint(1,3)
-            if res == 1:
-                res = randint(1,5)
-                if 1 <= res < 2:
-                    await session.send(
-                        choice(
-                            [
-                                '?', '?', '嗯?', '(。´・ω・)ん?', 'ん?'
-                            ]
-                        )
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                res = randint(1,3)
+                if res == 1:
+                    # res = random.randint(1,10)
+                    img = choice(
+                        [
+                            'SUKI.jpg', 'SUKI1.jpg', 'SUKI2.png', 'HE1.jpg'
+                        ]
                     )
+                    img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                    img = os.path.abspath(img)
+                    await session.send(f'[CQ:image,file=file:///{img}]')
                 
-                elif 2 <= res <= 5:
+                elif 2 <= res <= 3:
                     img = choice(
                         [
-                            'WH.jpg', 'WH1.jpg', 'WH2.jpg', 'WH3.jpg', 'WH4.jpg'
+                            'TZ.jpg', 'TZ1.jpg', 'TZ2.jpg'
                         ]
                     )
                     img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
                     img = os.path.abspath(img)
                     await session.send(f'[CQ:image,file=file:///{img}]')
 
-@on_command('yn', patterns = [r"是[吗]|是否"], only_to_me = False)
+
+@on_command('wenhao', patterns = [r"'?'|?|¿"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,3) == 1:
-                img = choice(
-                    [
-                        'YIQI_YES.png', 'YIQI_NO.jpg', 'KD.jpg', 'FD.jpg'
-                    ]
-                )
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
-
-
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                res = randint(1,3)
+                if res == 1:
+                    res = randint(1,5)
+                    if 1 <= res < 2:
+                        await session.send(
+                            choice(
+                                [
+                                    '?', '?', '嗯?', '(。´・ω・)ん?', 'ん?'
+                                ]
+                            )
+                        )
+                    
+                    elif 2 <= res <= 5:
+                        img = choice(
+                            [
+                                'WH.jpg', 'WH1.jpg', 'WH2.jpg', 'WH3.jpg', 'WH4.jpg'
+                            ]
+                        )
+                        img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                        img = os.path.abspath(img)
+                        await session.send(f'[CQ:image,file=file:///{img}]')
 
-@on_command('kouchou', patterns = [r"草你妈|操|你妈|脑瘫|废柴|fw|five|废物|战斗|爬|爪巴|sb|SB|啥[b批比逼]|傻b|给[爷👴]爬|嘴臭"], only_to_me = False)
+@on_command('yn', patterns = [r"是[吗]|是否"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,2) == 1:
-                res = randint(1,3)
-                if res == 1:
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,3) == 1:
                     img = choice(
                         [
-                            'WQ.jpg', 'WQ.png', 'WQ1.jpg', 'WQ2.jpg', 'FN.jpg'
+                            'YIQI_YES.png', 'YIQI_NO.jpg', 'KD.jpg', 'FD.jpg'
                         ]
                     )
                     img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
                     img = os.path.abspath(img)
                     await session.send(f'[CQ:image,file=file:///{img}]')
 
-                elif res == 2:
+
+
+@on_command('kouchou', patterns = [r"草你妈|操|你妈|脑瘫|废柴|fw|five|废物|战斗|爬|爪巴|sb|SB|啥[b批比逼]|傻b|给[爷👴]爬|嘴臭"], only_to_me = False)
+async def _(session: CommandSession):
+    user = session.event.user_id
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
+
+    if str(group) in data.keys():
+        pass
+    else:
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,2) == 1:
                     res = randint(1,3)
                     if res == 1:
-                        await session.send('对嘴臭人以火箭组合必杀拳,来让他好好喝一壶!哼!')
-                    
+                        img = choice(
+                            [
+                                'WQ.jpg', 'WQ.png', 'WQ1.jpg', 'WQ2.jpg', 'FN.jpg'
+                            ]
+                        )
+                        img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                        img = os.path.abspath(img)
+                        await session.send(f'[CQ:image,file=file:///{img}]')
+
                     elif res == 2:
-                        await session.send('鱼雷组合拳——————————————————啊————!!!')
+                        res = randint(1,3)
+                        if res == 1:
+                            await session.send('对嘴臭人以火箭组合必杀拳,来让他好好喝一壶!哼!')
+                        
+                        elif res == 2:
+                            await session.send('鱼雷组合拳——————————————————啊————!!!')
+                        
+                        elif res == 3:
+                            await session.send('火箭拳——————————————————————————!!!')
                     
                     elif res == 3:
-                        await session.send('火箭拳——————————————————————————!!!')
-                
-                elif res == 3:
-                    await session.send(response.request_api(KC_URL))
+                        await session.send(response.request_api(KC_URL))
 
 @on_command('ciallo', patterns = [r"[Cc][iI][aA][lL][lL][oO]"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
+
+    if str(group) in data.keys():
+        pass
+    else:
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,2) == 1:
+                    res = randint(1,2)
+                    if res == 1:
+                        img = choice(
+                            [
+                                'CIALLO.jpg', 'CIALLO1.jpg', 'CIALLO2.jpg', 'CIALLO3.jpg', 'CIALLO4.jpg', 'CIALLO5.jpg'
+                            ]
+                        )
+                        img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                        img = os.path.abspath(img)
+                        await session.send(f'[CQ:image,file=file:///{img}]')
+                    
+                    elif res == 2:
+                        await session.send('Ciallo~(∠・ω< )⌒★')
+
+@on_command('ne', patterns = [r"呐|ねえ|口内"], only_to_me = False)
+async def _(session: CommandSession):
+    user = session.event.user_id
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,2) == 1:
-                res = randint(1,2)
-                if res == 1:
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,3) == 1:
+                    await session.send(
+                        choice(
+                            [
+                                '呐', '呐呐呐', 'ねえ', 'ねえねえ'
+                            ]
+                        )
+                    )
+
+@on_command('kani', patterns = [r"螃蟹|🦀|カニ|[kK]ani"], only_to_me = False)
+async def _(session: CommandSession):
+    user = session.event.user_id
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
+
+    if str(group) in data.keys():
+        pass
+    else:
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,2) == 1:
                     img = choice(
                         [
-                            'CIALLO.jpg', 'CIALLO1.jpg', 'CIALLO2.jpg', 'CIALLO3.jpg', 'CIALLO4.jpg', 'CIALLO5.jpg'
+                            'KN.png', 'KN.jpg', 'KN1.jpg', 'KN2.jpg', 'KN3.png'
                         ]
                     )
                     img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
                     img = os.path.abspath(img)
                     await session.send(f'[CQ:image,file=file:///{img}]')
-                
-                elif res == 2:
-                    await session.send('Ciallo~(∠・ω< )⌒★')
 
-@on_command('ne', patterns = [r"呐|ねえ|口内"], only_to_me = False)
+@on_command('qingjie', patterns = [r"青[洁结]"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,3) == 1:
-                await session.send(
-                    choice(
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,2) == 1:
+                    img = Path('.') / 'ATRI' / 'data' / 'emoji' / 'H.jpg'
+                    img = os.path.abspath(img)
+                    await session.send(f'[CQ:image,file=file:///{img}]')
+
+@on_command('jz', patterns = [r"就这"], only_to_me = False)
+async def _(session: CommandSession):
+    user = session.event.user_id
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
+
+    if str(group) in data.keys():
+        pass
+    else:
+        if str(user) in data1.keys():
+            pass
+        else:
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,2) == 1:
+                    img = choice(
                         [
-                            '呐', '呐呐呐', 'ねえ', 'ねえねえ'
+                            'JZ.png', 'JZ1.png'
                         ]
                     )
-                )
+                    img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                    img = os.path.abspath(img)
+                    await session.send(f'[CQ:image,file=file:///{img}]')
 
-@on_command('kani', patterns = [r"螃蟹|🦀|カニ|[kK]ani"], only_to_me = False)
+@on_command('hai', patterns = [r"害|嗐"], only_to_me = False)
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,2) == 1:
-                img = choice(
-                    [
-                        'KN.png', 'KN.jpg', 'KN1.jpg', 'KN2.jpg', 'KN3.png'
-                    ]
-                )
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                if randint(1,2) == 1:
+                    img = Path('.') / 'ATRI' / 'data' / 'emoji' / 'H.jpg'
+                    img = os.path.abspath(img)
+                    await session.send(f'[CQ:image,file=file:///{img}]')
 
-@on_command('qingjie', patterns = [r"青[洁结]"], only_to_me = False)
+@on_command('high_per', patterns = [r"高性能|[太最][棒好强猛]|[tT][qQ][lL]|[🐂牛nN][🍺批bB]|すごい|sugoi|[斯死]国一|よかった"])
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    msg = str(session.event.message)
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,2) == 1:
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / 'H.jpg'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
+            pat = r"草你妈|操|你妈|脑瘫|废柴|fw|five|废物|战斗|爬|爪巴|sb|SB|啥[b批比逼]|傻b|给[爷👴]爬|嘴臭"
+            if re.findall(pat, msg):
+                pass
+            else:
+                msg = choice(
+                    [
+                       '当然,我是高性能的嘛~!',
+                       '小事一桩,我是高性能的嘛',
+                       '怎么样?还是我比较高性能吧?',
+                       '哼哼!我果然是高性能的呢!',
+                       '因为我是高性能的嘛!嗯哼!',
+                       '因为我是高性能的呢!',
+                       '哎呀~,我可真是太高性能了',
+                       '正是,因为我是高性能的',
+                       '是的。我是高性能的嘛♪',
+                       '毕竟我可是高性能的!',
+                       '嘿嘿,我的高性能发挥出来啦♪',
+                       '我果然是很高性能的机器人吧!',
+                       '是吧!谁叫我这么高性能呢!哼哼!',
+                       '交给我吧,有高性能的我陪着呢',
+                       '呣......我的高性能,毫无遗憾地施展出来了......'
+                    ]
+                )
+                await session.send(msg)
 
-@on_command('jz', patterns = [r"就这"], only_to_me = False)
+@on_command('dont_worry', patterns = [r"没事|没关系|大丈夫|还好|不要紧|没出大问题|没伤到哪"])
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    msg = str(session.event.message)
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,2) == 1:
-                img = choice(
+            pat = r"草你妈|操|你妈|脑瘫|废柴|fw|five|废物|战斗|爬|爪巴|sb|SB|啥[b批比逼]|傻b|给[爷👴]爬|嘴臭"
+            if re.findall(pat, msg):
+                pass
+            else:
+                msg = choice(
                     [
-                        'JZ.png', 'JZ1.png'
+                       '当然,我是高性能的嘛~!',
+                       '没事没事,因为我是高性能的嘛!嗯哼!',
+                       '没事的,因为我是高性能的呢!',
+                       '正是,因为我是高性能的',
+                       '是的。我是高性能的嘛♪',
+                       '毕竟我可是高性能的!',
+                       '那种程度的事不算什么的。\n别看我这样,我可是高性能的',
+                       '没问题的,我可是高性能的'
                     ]
                 )
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
+                await session.send(msg)
 
-@on_command('hai', patterns = [r"害|嗐"], only_to_me = False)
+@on_command('mohead', patterns = [r"摸[头摸]"])
 async def _(session: CommandSession):
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    msg = str(session.event.message)
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            if randint(1,2) == 1:
-                img = Path('.') / 'ATRI' / 'data' / 'emoji' / 'H.jpg'
-                img = os.path.abspath(img)
-                await session.send(f'[CQ:image,file=file:///{img}]')
+            pat = r"草你妈|操|你妈|脑瘫|废柴|fw|five|废物|战斗|爬|爪巴|sb|SB|啥[b批比逼]|傻b|给[爷👴]爬|嘴臭"
+            if re.findall(pat, msg):
+                pass
+            else:
+                res = randint(1,3)
+                if 1 <= res <= 2:
+                    img = choice(
+                        [
+                            'TZ.jpg', 'TZ1.jpg', 'TZ2.jpg'
+                        ]
+                    )
+                    img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
+                    img = os.path.abspath(img)
+                    await session.send(f'[CQ:image,file=file:///{img}]')
+                
+                elif res == 3:
+                    msg = choice(
+                        [
+                            '头发的柔顺度上升,我的高性能更上一层楼......',
+                            '*蹭蹭'
+                        ]
+                    )
+                    await session.send(msg)
 
 noobList0 = []
-@on_command('robot', patterns = [r"萝卜子"], only_to_me = False)
+@on_command('robozi', patterns = [r"萝卜子"], only_to_me = False)
 async def _(session: CommandSession):
     global noobList0
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            bL = {}
-            await session.send('萝卜子是对机器人的蔑称!')
-            noobList0.append(user)
-            if countX(noobList0, user) == 2:
-                if user == master:
-                    await session.send('是主人的话...那算了...呜呜\n即使到达了ATRI的最低忍耐限度......')
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                bL = {}
+                await session.send('萝卜子是对机器人的蔑称!')
+                noobList0.append(user)
+                if countX(noobList0, user) == 2:
+                    if user == master:
+                        await session.send('是主人的话...那算了...呜呜\n即使到达了ATRI的最低忍耐限度......')
+                        noobList0 = list(set(noobList0))
+                        pass
+                    await session.send('是亚托莉......萝卜子可是对机器人的蔑称......\n这是第二次警告哦,接下来5分钟我不会再理你了!哼唧!')
+                    bL[f"{user}"] = f"{user}"
+                    file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json'
+                    f = open(file, 'w')
+                    f.write(json.dumps(bL))
+                    f.close()
                     noobList0 = list(set(noobList0))
-                    pass
-                await session.send('是亚托莉......萝卜子可是对机器人的蔑称......\n这是第二次警告哦,接下来5分钟我不会再理你了!哼唧!')
-                bL[f"{user}"] = f"{user}"
-                file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json'
-                f = open(file, 'w')
-                f.write(json.dumps(bL))
-                f.close()
-                noobList0 = list(set(noobList0))
-                print(noobList0)
-                delta = timedelta(minutes = 5)
-                trigger = DateTrigger(
-                    run_date = datetime.now() + delta
-                )
+                    print(noobList0)
+                    delta = timedelta(minutes = 5)
+                    trigger = DateTrigger(
+                        run_date = datetime.now() + delta
+                    )
 
-                scheduler.add_job( #type: ignore
-                    func = rmQQfromNoobLIST,
-                    trigger = trigger,
-                    args = (user),
-                    misfire_grace_time = 60,
-                )
+                    scheduler.add_job( #type: ignore
+                        func = rmQQfromNoobLIST,
+                        trigger = trigger,
+                        args = (user),
+                        misfire_grace_time = 60,
+                    )
 
 
 
@@ -615,46 +962,58 @@ noobList1 = []
 async def _(session: CommandSession):
     global noobList1
     user = session.event.user_id
-    with open('ATRI/plugins/noobList/noobList.json', 'r') as f:
-        data = json.load(f)
+    group = session.event.group_id
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobGroup.json', 'r') as f:
+            data = json.load(f)
+    except:
+        data = {}
+    try:
+        with open(Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json', 'r') as f:
+            data1 = json.load(f)
+    except:
+        data1 = {}
 
-    if str(user) in data.keys():
+    if str(group) in data.keys():
         pass
     else:
-        if 0 <= now_time() < 5.5:
+        if str(user) in data1.keys():
             pass
         else:
-            msg = str(session.event.message)
-            bL = {}
-            pattern = r"[nNηиɴИ][tT][rR]|[牛🐂]头人"
-            if re.findall(pattern, msg):
-                await session.send('你妈的,牛头人,' + response.request_api(KC_URL))
-                noobList1.append(user)
-                print(noobList1)
-                print(countX(noobList1, user))
-                if countX(noobList1, user) == 5:
-                    if user == master:
-                        await session.send('是主人的话...那算了...呜呜\n即使到达了ATRI的最低忍耐限度......')
-                        noobList1 = list(set(noobList1))
-                        pass
-
-                    else:
-                        await session.send(f'[CQ:at,qq={user}]哼!接下来10分钟别想让我理你!')
-                        bL[f"{user}"] = f"{user}"
-                        file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json'
-                        f = open(file, 'w')
-                        f.write(json.dumps(bL))
-                        f.close()
-                        noobList1 = list(set(noobList1))
-                        print(noobList1)
-                        delta = timedelta(minutes = 10)
-                        trigger = DateTrigger(
-                            run_date = datetime.now() + delta
-                        )
-
-                        scheduler.add_job( #type: ignore
-                            func = rmQQfromNoobLIST,
-                            trigger = trigger,
-                            args = (user),
-                            misfire_grace_time = 60,
-                        )
\ No newline at end of file
+            if 0 <= now_time() < 5.5:
+                pass
+            else:
+                msg = str(session.event.message)
+                bL = {}
+                pattern = r"[nNηиɴИ][tT][rR]|[牛🐂]头人"
+                if re.findall(pattern, msg):
+                    await session.send('你妈的,牛头人,' + response.request_api(KC_URL))
+                    noobList1.append(user)
+                    print(noobList1)
+                    print(countX(noobList1, user))
+                    if countX(noobList1, user) == 5:
+                        if user == master:
+                            await session.send('是主人的话...那算了...呜呜\n即使到达了ATRI的最低忍耐限度......')
+                            noobList1 = list(set(noobList1))
+                            pass
+
+                        else:
+                            await session.send(f'[CQ:at,qq={user}]哼!接下来10分钟别想让我理你!')
+                            bL[f"{user}"] = f"{user}"
+                            file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json'
+                            f = open(file, 'w')
+                            f.write(json.dumps(bL))
+                            f.close()
+                            noobList1 = list(set(noobList1))
+                            print(noobList1)
+                            delta = timedelta(minutes = 10)
+                            trigger = DateTrigger(
+                                run_date = datetime.now() + delta
+                            )
+
+                            scheduler.add_job( #type: ignore
+                                func = rmQQfromNoobLIST,
+                                trigger = trigger,
+                                args = (user),
+                                misfire_grace_time = 60,
+                            )
\ No newline at end of file
-- 
cgit v1.2.3