diff options
author | Kyomotoi <[email protected]> | 2020-08-12 00:05:21 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2020-08-12 00:05:21 +0800 |
commit | b11b204043451334c33d827b776f230b6c8e84ce (patch) | |
tree | 32a1e42a3871e34401775bf7843444f3eeaa904a | |
parent | 0cd82d9166c38fa455895cc236f406902e8e6549 (diff) | |
download | ATRI-b11b204043451334c33d827b776f230b6c8e84ce.tar.gz ATRI-b11b204043451334c33d827b776f230b6c8e84ce.tar.bz2 ATRI-b11b204043451334c33d827b776f230b6c8e84ce.zip |
[Fix]
-rw-r--r-- | ATRI/plugins/anime_search.py | 104 | ||||
-rw-r--r-- | ATRI/plugins/bilibili.py | 108 | ||||
-rw-r--r-- | ATRI/plugins/chat.py | 576 | ||||
-rw-r--r-- | ATRI/plugins/cloudmusic.py | 85 | ||||
-rw-r--r-- | ATRI/plugins/hbook.py | 98 | ||||
-rw-r--r-- | ATRI/plugins/hitokoto.py | 32 | ||||
-rw-r--r-- | ATRI/plugins/other.py | 110 | ||||
-rw-r--r-- | ATRI/plugins/pixiv.py | 246 | ||||
-rw-r--r-- | ATRI/plugins/setu.py | 115 | ||||
-rw-r--r-- | ATRI/plugins/upload_sqlite.py | 71 |
10 files changed, 758 insertions, 787 deletions
diff --git a/ATRI/plugins/anime_search.py b/ATRI/plugins/anime_search.py index edbdc91..eb2e26d 100644 --- a/ATRI/plugins/anime_search.py +++ b/ATRI/plugins/anime_search.py @@ -46,67 +46,69 @@ def toSimpleString(str): return "".join(output_str_list) -@on_command( - 'anime_search', - aliases = ['以图搜番'], - only_to_me = False +@on_command('anime_search', aliases = ['以图搜番'], only_to_me = False ) async def _(session: CommandSession): user = session.event.user_id msg = session.current_arg.strip() + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + if not msg: + msg = session.get('message', prompt = "请发送一张图片") + + await session.send("开始以图搜番\n(如搜索时间过长或无反应则为图片格式有问题)") - if not msg: - msg = session.get('message', prompt = "请发送一张图片") - - await session.send("开始以图搜番\n(如搜索时间过长或无反应则为图片格式有问题)") - - p = '\\[CQ\\:image\\,file\\=.*?\\,url\\=(.*?)\\]' - - img = re.findall(p, msg) + p = '\\[CQ\\:image\\,file\\=.*?\\,url\\=(.*?)\\]' - if img: - URL = f'https://trace.moe/api/search?url={img[0]}' + img = re.findall(p, msg) - req = await get_bytes(URL) + if img: + URL = f'https://trace.moe/api/search?url={img[0]}' - if req: - data = json.loads(req.decode()) + req = await get_bytes(URL) - d = {} + if req: + data = json.loads(req.decode()) - for i in range(len(data['docs'])): - if data['docs'][i]['title_chinese'] in d.keys(): - d[data['docs'][i]['title_chinese']][0] += data['docs'][i]['similarity'] - - else: - m = data['docs'][i]['at']/60 - s = data['docs'][i]['at']%60 + d = {} - if data['docs'][i]['episode'] == '': - n = 1 - + for i in range(len(data['docs'])): + if data['docs'][i]['title_chinese'] in d.keys(): + d[data['docs'][i]['title_chinese']][0] += data['docs'][i]['similarity'] + else: - n = data['docs'][i]['episode'] - - d[toSimpleString(data['docs'][i]['title_chinese'])] = [data['docs'][i]['similarity'],f'第{n}集',f'{int(m)}分{int(s)}秒处'] - - result = sorted( - d.items(), - key = lambda x:x[1], - reverse = True - ) - - t = 0 - - msg0 = f'[CQ:at,qq={user}]\n根据所提供的图片按照相似度找到{len(d)}个结果:' - - for i in result: - t +=1 - lk = ('%.2f%%' % (i[1][0] * 100)) - msg = (f'\n——————————\n({t})\n相似度:{lk}\n动漫名:《{i[0]}》\n时间点:{i[1][1]} {i[1][2]}') - msg0 += msg + m = data['docs'][i]['at']/60 + s = data['docs'][i]['at']%60 + + if data['docs'][i]['episode'] == '': + n = 1 + + else: + n = data['docs'][i]['episode'] + + d[toSimpleString(data['docs'][i]['title_chinese'])] = [data['docs'][i]['similarity'],f'第{n}集',f'{int(m)}分{int(s)}秒处'] + + result = sorted( + d.items(), + key = lambda x:x[1], + reverse = True + ) + + t = 0 + + msg0 = f'[CQ:at,qq={user}]\n根据所提供的图片按照相似度找到{len(d)}个结果:' + + for i in result: + t +=1 + lk = ('%.2f%%' % (i[1][0] * 100)) + msg = (f'\n——————————\n({t})\n相似度:{lk}\n动漫名:《{i[0]}》\n时间点:{i[1][1]} {i[1][2]}') + msg0 += msg + + await session.send(msg0) - await session.send(msg0) - - else: - await session.send("搜索似乎失败了呢...")
\ No newline at end of file + else: + await session.send("搜索似乎失败了呢...")
\ No newline at end of file diff --git a/ATRI/plugins/bilibili.py b/ATRI/plugins/bilibili.py deleted file mode 100644 index e415048..0000000 --- a/ATRI/plugins/bilibili.py +++ /dev/null @@ -1,108 +0,0 @@ -# -*- coding:utf-8 -*- -import json -import nonebot -from orjson import loads -from html import unescape -import aiocqhttp - -from nonebot import on_command, CommandSession - -from ATRI.modules import response # type: ignore - - -REPORT_FORMAT = """({aid})信息如下: -Title: {title} -aid: {aid} -bid: {bid} -观看: {view} 点赞: {like} -投币: {coin} 转发: {share} -观看链接: -{aid_link} -{bid_link}""" - - -table='fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF' -tr={} -for i in range(58): - tr[table[i]]=i -s=[11,10,3,8,4,6] -xor=177451812 -add=8728348608 - -def dec(x): - r=0 - for i in range(6): - r+=tr[x[s[i]]]*58**i - return (r-add)^xor - -def enc(x): - x=(x^xor)+add - r=list('BV1 4 1 7 ') - for i in range(6): - r[s[i]]=table[x//58**i%58] - return ''.join(r) - - -def check(string, sub_str): - if (string.find(sub_str) == -1): - ch = 0 - return ch - else: - ch = 1 - return ch - - [email protected]_natural_language(only_to_me = False, only_short_message = False) -async def fk_tx_app_bilibili(session: nonebot.NLPSession): - rich_message = [x for x in session.event['message'] if x.get('type') == 'rich'] - - if not rich_message: - return - - rich_message = rich_message[0]['data'] - print(rich_message) - - xch = '小程序' - bili = '哔哩哔哩' - if check(rich_message['text'], xch) == 0: - return - if check(rich_message['text'], bili) == 0: - return - - print(rich_message['text']) - - rich_message = rich_message['content'] - data = loads(unescape(rich_message)) - - if 'detail_1' not in str(rich_message): - return - - URL = data['detail_1']['qqdocurl'] - rep = URL.replace('?', '/') - rep = rep.split('/') - biv = rep[4] - - aid = str(dec(biv)) - - url = f'https://api.imjad.cn/bilibili/v2/?aid={aid}' - ad = 'av' + aid - - dc = json.loads(response.request_api(url)) - - pic = dc["data"]["pic"] - - await session.send(REPORT_FORMAT.format( - title = dc["data"]["title"], - - view = dc["data"]["stat"]["view"], - coin = dc["data"]["stat"]["coin"], - share = dc["data"]["stat"]["share"], - like = dc["data"]["stat"]["like"], - - bid = biv, - bid_link = dc["data"]["short_link"], - - aid = ad, - aid_link = f'https://b23.tv/{ad}' - ) - )
\ No newline at end of file diff --git a/ATRI/plugins/chat.py b/ATRI/plugins/chat.py index 3363339..87bd17c 100644 --- a/ATRI/plugins/chat.py +++ b/ATRI/plugins/chat.py @@ -105,320 +105,410 @@ def now_time(): @on_command('morning', patterns = [r"早[安哇]|早上好|ohayo|哦哈哟|お早う"], only_to_me = False) async def _(session: CommandSession): - if 5.5 <= now_time() < 9: - await session.send( - choice( - [ - '啊......早上好...(哈欠)', - '唔......吧唧...早上...哈啊啊~~~\n早上好......', - '早上好......', - '早上好呜......呼啊啊~~~~', - '啊......早上好。\n昨晚也很激情呢!', - '吧唧吧唧......怎么了...已经早上了么...', - '早上好!', - '......看起来像是傍晚,其实已经早上了吗?', - '早上好......欸~~~脸好近呢' - ] + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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): - if 11 <= now_time() <= 15: - await session.send( - choice( - [ - '午安w','午觉要好好睡哦,ATRI会陪伴在你身旁的w', - '嗯哼哼~睡吧,就像平常一样安眠吧~o(≧▽≦)o', - '睡你午觉去!哼唧!!' - ] + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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): - if 5.5 <= now_time() < 11: - await session.send( - choice( - [ - '你可猝死算了吧!', - '?啊这', - '亲,这边建议赶快去睡觉呢~~~', - '不可忍不可忍不可忍!!为何这还不猝死!!' - ] + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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): - 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}]') + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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): - res = randint(1,3) - if res == 1: - # res = random.randint(1,10) - img = choice( - [ - 'SUKI.jpg', 'SUKI1.jpg', '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', 'TZ1.jpg' - ] - ) - img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}' - img = os.path.abspath(img) - await session.send(f'[CQ:image,file=file:///{img}]') - + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) -@on_command('wenhao', patterns = [r"'?'|?"], only_to_me = False) -async def _(session: CommandSession): - res = randint(1,3) - if res == 1: - res = randint(1,5) - if 1 <= res < 2: - await session.send( - choice( - [ - '?', '?', '嗯?', '(。´・ω・)ん?', 'ん?' - ] - ) + if data[f"{user}"] == str(user): + pass + else: + res = randint(1,3) + if res == 1: + # res = random.randint(1,10) + img = choice( + [ + 'SUKI.jpg', 'SUKI1.jpg', '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', 'TZ1.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) -async def _(session: CommandSession): - 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}]') - - -@on_command('kouchou', patterns = [r"草你妈|操|你妈|脑瘫|废柴|fw|five|废物|战斗|爬|爪巴|sb|SB|啥[b批比逼]|傻b|2b|给👴爬|嘴臭"], only_to_me = False) +@on_command('wenhao', patterns = [r"'?'|?"], only_to_me = False) async def _(session: CommandSession): - if randint(1,2) == 1: + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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('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) + + if data[f"{user}"] == str(user): + pass + else: + if randint(1,3) == 1: img = choice( [ - 'WQ.jpg', 'WQ.png', 'WQ2.jpg', 'WQ3.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|2b|给👴爬|嘴臭"], 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) + + if data[f"{user}"] == str(user): + pass + else: + if randint(1,2) == 1: res = randint(1,3) if res == 1: - await session.send('对嘴臭人以火箭组合必杀拳,来让他好好喝一壶!哼!') - + img = choice( + [ + 'WQ.jpg', 'WQ.png', 'WQ2.jpg', 'WQ3.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): - 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~(∠・ω< )⌒★') + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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): - if randint(1,3) == 1: - await session.send( - choice( - [ - '呐', '呐呐呐', 'ねえ', 'ねえねえ' - ] + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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): - 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}]') + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + 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}]') @on_command('hai', patterns = [r"青[洁结]"], only_to_me = False) async def _(session: CommandSession): - if randint(1,2) == 1: - img = Path('.') / 'ATRI' / 'data' / 'emoji' / 'H.jpg' - await session.send(f'[CQ:image,file=file:///{img}]') + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + if randint(1,2) == 1: + img = Path('.') / 'ATRI' / 'data' / 'emoji' / 'H.jpg' + await session.send(f'[CQ:image,file=file:///{img}]') @on_command('ntr', patterns = [r"[nN][tT][rR]|[牛🐂]头人"], only_to_me = False) async def _(session: CommandSession): user = session.event.user_id - msg = str(session.event.message) - noobList = [] - bL = {} - pattern = r"[nN][tT][rR]|[牛🐂]头人" - if re.findall(pattern, msg): - await session.send('你妈的,牛头人,' + response.request_api(KC_URL)) - noobList.append(user) - if countX(noobList, user) == 10: - if user == master: - pass - else: - await session.send('哼!接下来10分钟别想让我理你!') - bL[f"{user}"] = f"{user}" - file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json' - f = open(file, 'w') - f.write(json.dumps(bL)) - f.close() - delta = timedelta(minutes = 10) - trigger = DateTrigger( - run_date = datetime.now() + delta - ) + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) - scheduler.add_job( #type: ignore - func = rmQQfromNoobLIST, - trigger = trigger, - args = (user), - misfire_grace_time = 60, - ) + if data[f"{user}"] == str(user): + pass + else: + msg = str(session.event.message) + noobList = [] + bL = {} + pattern = r"[nN][tT][rR]|[牛🐂]头人" + if re.findall(pattern, msg): + await session.send('你妈的,牛头人,' + response.request_api(KC_URL)) + noobList.append(user) + if countX(noobList, user) == 10: + if user == master: + pass + else: + await session.send('哼!接下来10分钟别想让我理你!') + bL[f"{user}"] = f"{user}" + file = Path('.') / 'ATRI' / 'plugins' / 'noobList' / 'noobList.json' + f = open(file, 'w') + f.write(json.dumps(bL)) + f.close() + 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, + ) - else: - pass + else: + pass async def countX(lst, x): count = 0 diff --git a/ATRI/plugins/cloudmusic.py b/ATRI/plugins/cloudmusic.py deleted file mode 100644 index 73e8316..0000000 --- a/ATRI/plugins/cloudmusic.py +++ /dev/null @@ -1,85 +0,0 @@ -# -*- coding:utf-8 -*- -import json -import nonebot -from orjson import loads -from html import unescape - -from ATRI.modules import response # type: ignore - -REPORT_FORMAT = """Status: {status} -Song id: {id} -Br: {br} -Download: {url} -MD5: {md5}""" - - [email protected]_natural_language(only_to_me = False) -async def fk_tx_app_cloudmusic(session: nonebot.NLPSession): - rich_message = [x for x in session.event['message'] if x.get('CQ') == 'rich'] - - if not rich_message: - return - - rich_message = rich_message[0]['data'] - print(rich_message) - - if '网易云音乐' not in str(rich_message): - return - - if 'music' not in str(rich_message): - return - - data = loads(unescape(rich_message)) - print(data - ) - - URL = data['music']['jumpUrl'] - rep = URL.split('/') - wid = rep[4] - - url = f'https://api.imjad.cn/cloudmusic/?type=song&id={wid}&br=320000' - print(url) - - dc = json.loads(response.request_api(url)) - - await session.send( - REPORT_FORMAT.format( - status = dc["code"], - id = dc["data"][0]["id"], - br = dc["data"][0]["br"], - url = dc["data"][0]["url"], - md5 = dc["data"][0]["md5"], - ) - ) - - [email protected]_natural_language(only_to_me = False) -async def cloudmusic_link(session: nonebot.NLPSession): - share_message = [x for x in session.ctx['message'] if x.get('type') == 'share'] - - if not share_message: - return - - share_message = share_message[0]['data']['url'] - - if 'music.163.com' not in str(share_message): - return - - rep = share_message.replace('=', '/') - rep = rep.replace('&', '/') - wid = rep[4] - - url = f'https://api.imjad.cn/cloudmusic/?type=song&id={wid}&br=320000' - print(url) - - dc = json.loads(response.request_api(url)) - - await session.send( - REPORT_FORMAT.format( - status = dc["code"], - id = dc["data"][0]["id"], - br = dc["data"][0]["br"], - url = dc["data"][0]["url"], - md5 = dc["data"][0]["md5"], - ) - )
\ No newline at end of file diff --git a/ATRI/plugins/hbook.py b/ATRI/plugins/hbook.py index 7cd7be0..395a43b 100644 --- a/ATRI/plugins/hbook.py +++ b/ATRI/plugins/hbook.py @@ -11,60 +11,66 @@ pattern = r"来(.*?)[点丶份张幅](.*?)的?本子" @on_command('hbook', patterns = pattern, only_to_me = False) async def _(session: CommandSession): - with open('ATRI/plugins/switch/switch.json', 'r') as f: + h_user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: data = json.load(f) - - if data["hbook"] == 0: - num = 1 - tag = '' - start = time.perf_counter() - h_msg = str(session.event.message) - info = re.findall(pattern, h_msg) - if info: - num = int(info[0][0] or 1) - tag = str(info[0][1]) - if num > 5: - await session.send('你是不是涩批啊!要那么多干啥?!我最多发5份!') - num = 5 + if data[f"{h_user}"] == str(h_user): + pass + else: + with open('ATRI/plugins/switch/switch.json', 'r') as f: + data = json.load(f) - h_type = session.event.detail_type - h_user = session.event.user_id + if data["hbook"] == 0: + num = 1 + tag = '' + start = time.perf_counter() + h_msg = str(session.event.message) - try: - header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'} - keyword = {'show':'title,titleen,tags','keyboard':tag} - print(keyword) + info = re.findall(pattern, h_msg) + if info: + num = int(info[0][0] or 1) + tag = str(info[0][1]) + if num > 5: + await session.send('你是不是涩批啊!要那么多干啥?!我最多发5份!') + num = 5 + + h_type = session.event.detail_type - res = await response.post_bytes('https://b-upp.com/search/', headers=header, data=keyword) - res = res.decode() - except: - session.finish('貌似请求数据失败了...') + try: + header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'} + keyword = {'show':'title,titleen,tags','keyboard':tag} + print(keyword) - if '没有搜索到相关的内容' in res: - n_msg = '...似乎没有找到[{}]相关的本子呢'.format(tag) - await session.send(message=n_msg) - - else: - p = '<a href="(.*?)" target="_blank" title="(.*?)">' - data = re.findall(p,res) - n = len(data) - limit = num + res = await response.post_bytes('https://b-upp.com/search/', headers=header, data=keyword) + res = res.decode() + except: + session.finish('貌似请求数据失败了...') + + if '没有搜索到相关的内容' in res: + n_msg = '...似乎没有找到[{}]相关的本子呢'.format(tag) + await session.send(message=n_msg) - if n > limit: # type: ignore - n = limit # type: ignore + else: + p = '<a href="(.*?)" target="_blank" title="(.*?)">' + data = re.findall(p,res) + n = len(data) + limit = num + + if n > limit: # type: ignore + n = limit # type: ignore - msg = f'据提供信息,已查询到{n}本关键词为[{tag}]的本子:' - if h_type == 'group': - msg = f'[CQ:at,qq={h_user}]\n根据提供信息,已查询到{n}本关键词为[{tag}]的本子:' - for i in range(n): - msg0 = ('\n——————————\n本子链接:https://b-upp.com%s \n本子标题:%s '%(data[i])) + msg = f'据提供信息,已查询到{n}本关键词为[{tag}]的本子:' + if h_type == 'group': + msg = f'[CQ:at,qq={h_user}]\n根据提供信息,已查询到{n}本关键词为[{tag}]的本子:' + for i in range(n): + msg0 = ('\n——————————\n本子链接:https://b-upp.com%s \n本子标题:%s '%(data[i])) + msg += msg0 + end = time.perf_counter() + msg0 = f'\n——————————\n耗时: {round(end - start, 3)}s' msg += msg0 - end = time.perf_counter() - msg0 = f'\n——————————\n耗时: {round(end - start, 3)}s' - msg += msg0 - await session.send(message=msg) + await session.send(message=msg) - else: - await session.send('该功能已禁用...')
\ No newline at end of file + else: + await session.send('该功能已禁用...')
\ No newline at end of file diff --git a/ATRI/plugins/hitokoto.py b/ATRI/plugins/hitokoto.py index fdc58c0..94fec98 100644 --- a/ATRI/plugins/hitokoto.py +++ b/ATRI/plugins/hitokoto.py @@ -8,25 +8,23 @@ from ATRI.modules import response # type: ignore url = 'https://api.imjad.cn/hitokoto/?cat=a&charset=utf-8&length=50&encode=json&fun=sync&source=' -HITOKOTO_REPLY = """{hitokoto} - from {author}""" - - @on_command('hitokoto', aliases = ['一言'], only_to_me = False) async def hitokoto(session: CommandSession): - rep = response.request_api(url) - - if not rep: - session.finish('获取失败') - - dc = json.loads(response.request_api(url)) - - await session.send( - HITOKOTO_REPLY.format( - hitokoto = dc["hitokoto"], - author = dc["author"] - ) - ) + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + rep = response.request_api(url) + + if not rep: + session.finish('获取失败') + + dc = json.loads(response.request_api(url)) + + await session.send(dc["hitokoto"]) @on_natural_language('一言', only_to_me = False) async def _(session: NLPSession): diff --git a/ATRI/plugins/other.py b/ATRI/plugins/other.py index 0e76c54..be0ed50 100644 --- a/ATRI/plugins/other.py +++ b/ATRI/plugins/other.py @@ -1,5 +1,6 @@ # -*- coding:utf-8 -*- import time +import json import random import nonebot from nonebot import on_command, CommandSession @@ -59,59 +60,94 @@ MENU_AND = ''' @on_command('抽签', only_to_me = False) async def _(session: CommandSession): - await session.send( - str( - random.choice( - [ - '大凶', - '大胸', - '小凶', - '小胸', - '凶', - '吉', - '中吉', - '大吉', - '特大吉', - '超特大吉' - ] + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + await session.send( + str( + random.choice( + [ + '大凶', + '大胸', + '小凶', + '小胸', + '凶', + '吉', + '中吉', + '大吉', + '特大吉', + '超特大吉' + ] + ) ) ) - ) @on_command('掷骰子', aliases = ['扔骰子', '骰子'], only_to_me = False) async def _(session: CommandSession): - await session.send( - str( - random.randint( - 1,6 + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + await session.send( + str( + random.randint( + 1,6 + ) ) ) - ) @on_command('关于', aliases = ['关于机器人'], only_to_me = False) async def _(session: CommandSession): - await session.send( - """想了解ATRI嘛 -写出咱的是Kyomotoi -他的主页:https://blog.lolihub.icu/ -项目地址:https://github.com/Kyomotoi/ATRI -欢迎star~w!""" - ) + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + await session.send( + """想了解ATRI嘛 + 写出咱的是Kyomotoi + 他的主页:https://blog.lolihub.icu/ + 项目地址:https://github.com/Kyomotoi/ATRI + 欢迎star~w!""" + ) @on_command('help', aliases = ['帮助', '如何使用ATRI', '机器人帮助'], only_to_me = False) async def _(session: CommandSession): - await session.send( - f"""{render_expression(HELP_REPLY)} -发送:菜单 -或看这吧! -https://blog.lolihub.icu/#/ATRI/user""" - ) + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + await session.send( + f"""{render_expression(HELP_REPLY)} + 发送:菜单 + 或看这吧! + https://blog.lolihub.icu/#/ATRI/user""" + ) @on_command('menu', aliases = ['菜单'], only_to_me = False) async def _(session: CommandSession): - await session.send(MENU_REPO) - time.sleep(0.5) - await session.send(MENU_AND) + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + await session.send(MENU_REPO) + time.sleep(0.5) + await session.send(MENU_AND) @on_command('report', aliases = ['来杯红茶'], only_to_me = True) async def _(session: CommandSession): diff --git a/ATRI/plugins/pixiv.py b/ATRI/plugins/pixiv.py index 4be60dc..5ca7b20 100644 --- a/ATRI/plugins/pixiv.py +++ b/ATRI/plugins/pixiv.py @@ -31,145 +31,163 @@ Link: {user_link} @on_command('pixiv_seach_img', aliases = ['p站搜图', 'P站搜图', '批站搜图'], only_to_me = False) async def _(session: CommandSession): - with open('ATRI/plugins/switch/switch.json', 'r') as f: + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: data = json.load(f) - if data["pixiv_seach_img"] == 0: - user = session.event.user_id - pid = session.current_arg.strip() - - if not pid: - pid = session.get('message', prompt = '请告诉ATRI需要查询的Pid码') - - start =time.perf_counter() - await session.send('开始P站搜图\n如搜索时间过长或许为图片过大上传较慢') - - URL = URL_1 + pid - - dc = json.loads(response.request_api(URL)) - - if not dc: - session.finish('ATRI在网络上走散了...请重试...') - - img = f'https://pixiv.cat/{pid}.jpg' - - - end = time.perf_counter() - - await session.send( - IMG_SEACH_REPLY.format( - user = user, - pid = pid, - title = dc["response"][0]["title"], - width = dc["response"][0]["width"], - height = dc["response"][0]["height"], - tags = dc["response"][0]["tags"], - account = dc["response"][0]["user"]["account"], - name = dc["response"][0]["user"]["name"], - user_link = f'https://www.pixiv.net/users/' + f'{dc["response"][0]["user"]["id"]}', - img = img, - time = round(end - start, 3) - ) - ) - + if data[f"{user}"] == str(user): + pass else: - await session.send('该功能已被禁用...') + with open('ATRI/plugins/switch/switch.json', 'r') as f: + data = json.load(f) + + if data["pixiv_seach_img"] == 0: + pid = session.current_arg.strip() + + if not pid: + pid = session.get('message', prompt = '请告诉ATRI需要查询的Pid码') + + start =time.perf_counter() + await session.send('开始P站搜图\n如搜索时间过长或许为图片过大上传较慢') + + URL = URL_1 + pid + + dc = json.loads(response.request_api(URL)) + + if not dc: + session.finish('ATRI在网络上走散了...请重试...') + + img = f'https://pixiv.cat/{pid}.jpg' + + + end = time.perf_counter() + + await session.send( + IMG_SEACH_REPLY.format( + user = user, + pid = pid, + title = dc["response"][0]["title"], + width = dc["response"][0]["width"], + height = dc["response"][0]["height"], + tags = dc["response"][0]["tags"], + account = dc["response"][0]["user"]["account"], + name = dc["response"][0]["user"]["name"], + user_link = f'https://www.pixiv.net/users/' + f'{dc["response"][0]["user"]["id"]}', + img = img, + time = round(end - start, 3) + ) + ) + + else: + await session.send('该功能已被禁用...') @on_command('pixiv_seach_author', aliases = ['画师', '搜索画师', '画师搜索'], only_to_me = False) async def _(session: CommandSession): - with open('ATRI/plugins/switch/switch.json', 'r') as f: + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: data = json.load(f) - - if data["pixiv_seach_author"] == 0: - user = session.event.user_id - author_id = session.current_arg.strip() - - if not author_id: - author_id = session.get('message', prompt = '请告诉ATRI需要查询的画师ID') - - start =time.perf_counter() - await session.send(f'开始获取画师{author_id}的前三项作品\n如获取时间过长或许为图片过大上传较慢') - - URL = URL_2 + author_id - dc = json.loads(response.request_api(URL)) - - if not dc: - session.finish('ATRI在网络上走散了...请重试...') - - d ={} - - for i in range(0,3): - pid = dc["response"][i]["id"] - pidURL = f'https://pixiv.cat/{pid}.jpg' - d[i] = [f'{pid}',f'{pidURL}'] - - msg0 = (f'[CQ:at,qq={user}]\n画师id:{author_id},接下来展示前三作品') - - result = sorted( - d.items(), - key = lambda x:x[1], - reverse = True - ) + if data[f"{user}"] == str(user): + pass + else: + with open('ATRI/plugins/switch/switch.json', 'r') as f: + data = json.load(f) + + if data["pixiv_seach_author"] == 0: + author_id = session.current_arg.strip() + + if not author_id: + author_id = session.get('message', prompt = '请告诉ATRI需要查询的画师ID') + + start =time.perf_counter() + await session.send(f'开始获取画师{author_id}的前三项作品\n如获取时间过长或许为图片过大上传较慢') + + URL = URL_2 + author_id + + dc = json.loads(response.request_api(URL)) + + if not dc: + session.finish('ATRI在网络上走散了...请重试...') + + d ={} + + for i in range(0,3): + pid = dc["response"][i]["id"] + pidURL = f'https://pixiv.cat/{pid}.jpg' + d[i] = [f'{pid}',f'{pidURL}'] + + msg0 = (f'[CQ:at,qq={user}]\n画师id:{author_id},接下来展示前三作品') + + result = sorted( + d.items(), + key = lambda x:x[1], + reverse = True + ) - t = 0 + t = 0 - for i in result: - t += 1 - msg = (f'\n---------------\n({t})\nPid: {i[1][0]}\n{i[1][1]}') - msg0 += msg - end = time.perf_counter() + for i in result: + t += 1 + msg = (f'\n---------------\n({t})\nPid: {i[1][0]}\n{i[1][1]}') + msg0 += msg + end = time.perf_counter() - msg1 = (f'\n---------------\n完成时间:{round(end - start, 3)}s') - msg0 += msg1 + msg1 = (f'\n---------------\n完成时间:{round(end - start, 3)}s') + msg0 += msg1 + + await session.send(msg0) - await session.send(msg0) - - else: - await session.send('该功能已被禁用...') + else: + await session.send('该功能已被禁用...') @on_command('pixiv_daily_rank', aliases = ['P站排行榜', '批站排行榜', 'p站排行榜'], only_to_me = False) async def _(session: CommandSession): - with open('ATRI/plugins/switch/switch.json', 'r') as f: + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: data = json.load(f) - - if data["pixiv_daily_rank"] == 0: - user = session.event.user_id - await session.send('ATRI正在获取P站每日排行榜前五作品...') + if data[f"{user}"] == str(user): + pass + else: + with open('ATRI/plugins/switch/switch.json', 'r') as f: + data = json.load(f) + + if data["pixiv_daily_rank"] == 0: - start =time.perf_counter() - dc = json.loads(response.request_api(URL_3)) + await session.send('ATRI正在获取P站每日排行榜前五作品...') - d = {} + start =time.perf_counter() + dc = json.loads(response.request_api(URL_3)) - for i in range(0,5): - pid = dc["response"][0]["works"][i]["work"]["id"] - pidURL = f'https://pixiv.cat/{pid}.jpg' - d[i] = [f'{pid}',f'{pidURL}'] + d = {} - msg0 = (f'[CQ:at,qq={user}]') + for i in range(0,5): + pid = dc["response"][0]["works"][i]["work"]["id"] + pidURL = f'https://pixiv.cat/{pid}.jpg' + d[i] = [f'{pid}',f'{pidURL}'] - result = sorted( - d.items(), - key = lambda x:x[1], - reverse = True - ) + msg0 = (f'[CQ:at,qq={user}]') - t = 0 + result = sorted( + d.items(), + key = lambda x:x[1], + reverse = True + ) - for i in result: - t += 1 - msg = (f'\n---------------\n({t})\nPid: {i[1][0]}\n{i[1][1]}') - msg0 += msg - end = time.perf_counter() + t = 0 - msg1 = (f'\n---------------\n完成时间:{round(end - start, 3)}s') - msg0 += msg1 + for i in result: + t += 1 + msg = (f'\n---------------\n({t})\nPid: {i[1][0]}\n{i[1][1]}') + msg0 += msg + end = time.perf_counter() - await session.send(msg0) - - else: - await session.send('该功能已被禁用...')
\ No newline at end of file + msg1 = (f'\n---------------\n完成时间:{round(end - start, 3)}s') + msg0 += msg1 + + await session.send(msg0) + + else: + await session.send('该功能已被禁用...')
\ No newline at end of file diff --git a/ATRI/plugins/setu.py b/ATRI/plugins/setu.py index cbf8ff6..70ef0b4 100644 --- a/ATRI/plugins/setu.py +++ b/ATRI/plugins/setu.py @@ -30,71 +30,78 @@ Complete time:{time}s""" @on_command('setu', patterns = (r"来[点丶张份副个幅][涩色瑟][图圖]|[涩色瑟][图圖]来|[涩色瑟][图圖][gkd|GKD|搞快点]|[gkd|GKD|搞快点][涩色瑟][图圖]|[图圖]来|[我你她他它]想要[点丶张份副][涩色瑟][图圖]|我想要[1一][张份幅副个只][涩色瑟][图圖]|[我你她他它]想[看|look][涩涩|色色]的东西"), only_to_me = False) async def setu(session: CommandSession): group = session.event.group_id - with open(Path('.') / 'ATRI' / 'plugins' / 'switch' / 'switch.json', 'r') as f: + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: data = json.load(f) - if data["setu"] == 0: - await session.send('别急!正在找图!') - start = time.perf_counter() - values = { - "apikey": apikey, - "r18": "0", - "num": "1" - } + if data[f"{user}"] == str(user): + pass + else: + with open(Path('.') / 'ATRI' / 'plugins' / 'switch' / 'switch.json', 'r') as f: + data = json.load(f) - res = randint(1,10) - if 1 <= res <= 9: - res = randint(1,4) - if 1 <= res <= 3: - try: - dc = json.loads(response.request_api_params(URL, values)) - title = dc["data"][0]["title"] - pid = dc["data"][0]["pid"] - setu = dc["data"][0]["url"] #b64.b64_str_img_url(dc["data"][0]["url"]) - except: - await session.send('失败了失败了失败了失...') - return - + if data["setu"] == 0: + await session.send('别急!正在找图!') + start = time.perf_counter() + values = { + "apikey": apikey, + "r18": "0", + "num": "1" + } - res = randint(1,3) - if 1 <= res <= 2: - end = time.perf_counter() - await session.send( - SETU_REPLY.format( - title = title, - pid = pid, - setu = dc["data"][0]["url"], - time = round(end - start, 3) + res = randint(1,10) + if 1 <= res <= 9: + res = randint(1,4) + if 1 <= res <= 3: + try: + dc = json.loads(response.request_api_params(URL, values)) + title = dc["data"][0]["title"] + pid = dc["data"][0]["pid"] + setu = dc["data"][0]["url"] #b64.b64_str_img_url(dc["data"][0]["url"]) + except: + await session.send('失败了失败了失败了失...') + return + + + res = randint(1,3) + if 1 <= res <= 2: + end = time.perf_counter() + await session.send( + SETU_REPLY.format( + title = title, + pid = pid, + setu = dc["data"][0]["url"], + time = round(end - start, 3) + ) + ) + + elif res == 3: + await session.send('我找到涩图了!但我发给主人了ο(=•ω<=)ρ⌒☆') + end = time.perf_counter() + await bot.send_private_msg( # type: ignore + user_id = master, + message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{setu}\nComplete time: {round(end - start, 3)}" ) - ) - elif res == 3: - await session.send('我找到涩图了!但我发给主人了ο(=•ω<=)ρ⌒☆') - end = time.perf_counter() - await bot.send_private_msg( # type: ignore - user_id = master, - message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{setu}\nComplete time: {round(end - start, 3)}" + elif res == 4: + img = choice( + [ + 'SP.jpg', 'SP1.jpg', 'SP2.jpg' + ] ) + img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}' + img = os.path.abspath(img) + await session.send(f'[CQ:image,file=file:///{img}]') + - elif res == 4: + elif res == 10: img = choice( [ - 'SP.jpg', 'SP1.jpg', 'SP2.jpg' + 'GDZ.png', 'SHZY1.jpg', 'SHZY2.jpg', 'SHZY3.jpg', 'SHZY4.jpg', 'SHZY5.jpg', 'SHZY6.jpg' ] ) - img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}' - img = os.path.abspath(img) + img = Path('.') / 'ATRI' / 'data' / 'img' / 'niceIMG' / f'{img}' await session.send(f'[CQ:image,file=file:///{img}]') - - elif res == 10: - img = choice( - [ - 'GDZ.png', 'SHZY1.jpg', 'SHZY2.jpg', 'SHZY3.jpg', 'SHZY4.jpg', 'SHZY5.jpg', 'SHZY6.jpg' - ] - ) - img = Path('.') / 'ATRI' / 'data' / 'img' / 'niceIMG' / f'{img}' - await session.send(f'[CQ:image,file=file:///{img}]') - - else: - await session.send('该功能已被禁用...')
\ No newline at end of file + else: + await session.send('该功能已被禁用...')
\ No newline at end of file diff --git a/ATRI/plugins/upload_sqlite.py b/ATRI/plugins/upload_sqlite.py index a7c5b75..b399281 100644 --- a/ATRI/plugins/upload_sqlite.py +++ b/ATRI/plugins/upload_sqlite.py @@ -139,35 +139,42 @@ async def _(session: CommandSession): @on_command('data_list', aliases = ['查看上传数据', '数据总量'], only_to_me = False) async def _(session: CommandSession): - con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'normal.db') # setu-normal - cur = con.cursor() - cur.execute("select * from normal") - data_normal = len(cur.fetchall()) - con.close() - - con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'nearR18.db') # setu-nearR18 - cur = con.cursor() - cur.execute("select * from nearR18") - data_nearR18 = len(cur.fetchall()) - con.close() - - con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'r18.db') # setu-r18 - cur = con.cursor() - cur.execute("select * from r18") - data_r18 = len(cur.fetchall()) - con.close() - - con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'cloudmusic' / 'cloudmusic.db') # cloudmusic - cur = con.cursor() - cur.execute("select * from cloudmusic") - data_cloudmusic = len(cur.fetchall()) - con.close() - - await session.send( - f"""目前螃蟹™数据库收录了: -涩图: - normal: {data_normal} - nearR18: {data_nearR18} - r18:{data_r18} -网抑云语录:{data_cloudmusic}""" - )
\ No newline at end of file + user = session.event.user_id + with open('ATRI/plugins/noobList/noobList.json', 'r') as f: + data = json.load(f) + + if data[f"{user}"] == str(user): + pass + else: + con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'normal.db') # setu-normal + cur = con.cursor() + cur.execute("select * from normal") + data_normal = len(cur.fetchall()) + con.close() + + con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'nearR18.db') # setu-nearR18 + cur = con.cursor() + cur.execute("select * from nearR18") + data_nearR18 = len(cur.fetchall()) + con.close() + + con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'r18.db') # setu-r18 + cur = con.cursor() + cur.execute("select * from r18") + data_r18 = len(cur.fetchall()) + con.close() + + con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'cloudmusic' / 'cloudmusic.db') # cloudmusic + cur = con.cursor() + cur.execute("select * from cloudmusic") + data_cloudmusic = len(cur.fetchall()) + con.close() + + await session.send( + f"""目前螃蟹™数据库收录了: + 涩图: + normal: {data_normal} + nearR18: {data_nearR18} + r18:{data_r18} + 网抑云语录:{data_cloudmusic}""" + )
\ No newline at end of file |