summaryrefslogtreecommitdiff
path: root/ATRI/plugins/Setu.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/Setu.py')
-rw-r--r--ATRI/plugins/Setu.py327
1 files changed, 0 insertions, 327 deletions
diff --git a/ATRI/plugins/Setu.py b/ATRI/plugins/Setu.py
deleted file mode 100644
index 42d8bdc..0000000
--- a/ATRI/plugins/Setu.py
+++ /dev/null
@@ -1,327 +0,0 @@
-import os
-import re
-import time
-import json
-import sqlite3
-import aiohttp
-from urllib.parse import urlencode
-from random import choice, randint
-from pathlib import Path
-from datetime import datetime
-from random import choice
-import nonebot
-from nonebot import on_command, CommandSession
-from nonebot.helpers import send_to_superusers
-
-import config
-from ATRI.modules.error import errorBack
-from ATRI.modules.b64 import b64_str_img_url
-from ATRI.modules.response import request_api_params
-from ATRI.modules.funcControl import checkSwitch, checkNoob
-
-
-bot = nonebot.get_bot()
-master = config.SUPERUSERS
-apikey_LOLI = config.LoliconAPI
-APP_ID = config.BaiduApiID
-API_KEY = config.BaiduApiKEY
-SECRECT_KEY = config.BaiduApiSECRET
-__plugin_name__ = "setu"
-__plugin_name1__ = "setu_img"
-
-URL = 'https://api.lolicon.app/setu/'
-
-SETU_REPLY = """Title: {title}
-Pid: {pid}
-{setu}
----------------
-Complete time:{time}s"""
-
-
-def now_time():
- now_ = datetime.now()
- hour = now_.hour
- minute = now_.minute
- now = hour + minute / 60
- return now
-
-
-setu_type = 1
-@on_command('setu', patterns = (r"来[点丶张份副个幅][涩色瑟][图圖]|[涩色瑟][图圖]来|[涩色瑟][图圖][gkd|GKD|搞快点]|[gkd|GKD|搞快点][涩色瑟][图圖]|[图圖]来|[我你她他它]想要[点丶张份副][涩色瑟][图圖]|我想要[1一][张份幅副个只][涩色瑟][图圖]|[我你她他它]想[看|look][涩涩|色色]的东西"), only_to_me = False)
-async def setu(session: CommandSession):
- start = time.perf_counter()
- user = session.event.user_id
- group = session.event.group_id
- if checkNoob(user, group):
- if 0 <= now_time() < 5.5:
- await session.send(
- choice(
- [
- 'zzzz......',
- 'zzzzzzzz......',
- 'zzz...好涩哦..zzz....',
- '别...不要..zzz..那..zzz..',
- '嘻嘻..zzz..呐~..zzzz..'
- ]
- )
- )
- else:
- if checkSwitch(__plugin_name__, group):
- res = randint(1,10)
- if 1 <= res <= 9:
- res = randint(1,4)
- if 1 <= res <= 3:
- if setu_type == 1:
- res = randint(1,5)
- await session.send('别急!正在找图!')
- con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'nearR18.db')
- cur = con.cursor()
- msg = cur.execute('SELECT * FROM nearR18 ORDER BY RANDOM() limit 1;')
-
- if 1 <= res <= 4:
- for i in msg:
- pid = i[0]
- title = i[1]
- img = i[7]
- end = time.perf_counter()
- await session.send(
- SETU_REPLY.format(
- title = title,
- pid = pid,
- setu = img,
- time = round(end - start, 3)
- )
- )
- elif res == 5:
- for i in msg:
- pid = i[0]
- title = i[1]
- img = i[7]
- end = time.perf_counter()
- await session.send('我找到涩图了!但我发给主人了\nο(=•ω<=)ρ⌒☆')
- await send_to_superusers(
- bot,
- message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{img}\nComplete time: {round(end - start, 3)}"
- )
-
- elif setu_type == 2:
- res = randint(1,5)
- await session.send('别急!正在找图!')
- start = time.perf_counter()
- values = {
- "apikey": apikey_LOLI,
- "r18": "0",
- "num": "1"
- }
-
- try:
- dc = json.loads(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:
- session.finish(errorBack('请求数据失败'))
-
- if 1 <= res <= 4:
- 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 == 5:
- end = time.perf_counter()
- await session.send('我找到涩图了!但我发给主人了\nο(=•ω<=)ρ⌒☆')
- await send_to_superusers(
- bot,
- 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 == 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}'
- img = os.path.abspath(img)
- await session.send(f'[CQ:image,file=file:///{img}]')
-
- else:
- await session.send('该功能已关闭...')
-
-
-@on_command('change_setu_type', aliases = ['涩图导向'], only_to_me = False)
-async def _(session: CommandSession):
- global setu_type
- if session.event.user_id == master:
- msg = session.event.raw_message.split(' ', 1)
- s_type = msg[1]
-
- if s_type == '数据库':
- setu_type = 1
-
- elif s_type == '接口':
- setu_type = 2
-
- else:
- session.finish('请检查输入~~~(')
-
- await session.send('okay~~~~')
-
-
[email protected]_message("group")
-async def _(context):
- start = time.perf_counter()
- user = context["user_id"]
- group = context["group_id"]
- if checkNoob(user, group):
- if checkSwitch(__plugin_name1__, group):
- try:
- img = str(context["message"])
- pattern = re.compile(r"url=(.*)]")
- img = re.findall(pattern, img)
- img = img[0].replace('url=', '')
- img = img.replace(']', '')
- print(img)
- except:
- return
-
- try:
- img = b64_str_img_url(img)
- print('转换图片至base64成功')
- except:
- return
-
- try:
- host = f'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={API_KEY}&client_secret={SECRECT_KEY}'
- headers = {
- 'Content-Type': 'application/json;charset=UTF-8'
- }
- res = json.loads(request_api_params(host, headers))
- access_token=res['access_token']
- url = f'https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token={access_token}'
- headers = {'Content-Type': 'application/x-www-form-urlencoded'}
- data = urlencode({'image': img})
- # res = requests.post(url=url, headers=headers, data=data)
-
- async def func0(url, headers, data):
- async with aiohttp.ClientSession() as client:
- async with client.post(url, headers = headers, data = data) as req:
- res = await req.read()
- return res
-
- words = json.loads(str(func0(url, headers, data)))['words_result'][0]['words']
- print('BaiduAPI请求成功')
- except:
- return
-
- if re.findall(r"[涩色]图|炼铜", words):
- if checkSwitch(__plugin_name__, group):
- res = randint(1,10)
- if 1 <= res <= 9:
- res = randint(1,5)
- if 1 <= res <= 4:
- if setu_type == 1:
- res = randint(1,5)
- await bot.send_group_msg(group_id = group, message = '别急!正在找图!') # type: ignore
- con = sqlite3.connect(Path('.') / 'ATRI' / 'data' / 'sqlite' / 'setu' / 'nearR18.db')
- cur = con.cursor()
- msg = cur.execute('SELECT * FROM nearR18 ORDER BY RANDOM() limit 1;')
-
- if 1 <= res <= 4:
- for i in msg:
- pid = i[0]
- title = i[1]
- img = i[7]
- end = time.perf_counter()
- msg = SETU_REPLY.format(
- title = title,
- pid = pid,
- setu = img,
- time = round(end - start, 3)
- )
- await bot.send_group_msg(group_id = group, message = msg) # type: ignore
- elif res == 5:
- for i in msg:
- pid = i[0]
- title = i[1]
- img = i[7]
- end = time.perf_counter()
- await bot.send_group_msg(group_id = group, message = '我找到涩图了!但我发给主人了\nο(=•ω<=)ρ⌒☆') # type: ignore
- await send_to_superusers(
- bot,
- message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{img}\nComplete time: {round(end - start, 3)}"
- )
-
- elif setu_type == 2:
- res = randint(1,5)
- await bot.send_group_msg(group_id = group, message = '别急!正在找图!') # type: ignore
- start = time.perf_counter()
- values = {
- "apikey": apikey_LOLI,
- "r18": "0",
- "num": "1"
- }
-
- try:
- dc = json.loads(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 bot.send_group_msg(group_id = group, message = errorBack('数据请求失败')) # type: ignore
- return
- if 1 <= res <= 4:
- end = time.perf_counter()
- msg = SETU_REPLY.format(
- title = title,
- pid = pid,
- setu = img,
- time = round(end - start, 3)
- )
- await bot.send_group_msg(group_id = group, message = msg) # type: ignore
- elif res == 5:
- end = time.perf_counter()
- await bot.send_group_msg(group_id = group, message = '我找到涩图了!但我发给主人了\nο(=•ω<=)ρ⌒☆') # type: ignore
- await send_to_superusers(
- bot,
- message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{setu}\nComplete time: {round(end - start, 3)}"
- )
- elif res == 5:
- img = choice(
- [
- 'SP.jpg', 'SP1.jpg', 'SP2.jpg'
- ]
- )
- img = Path('.') / 'ATRI' / 'data' / 'emoji' / f'{img}'
- img = os.path.abspath(img)
- await bot.send_group_msg(group_id = group, message = f'[CQ:image,file=file:///{img}]') # type: ignore
-
- 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}'
- img = os.path.abspath(img)
- await bot.send_group_msg(group_id = group, message = f'[CQ:image,file=file:///{img}]') # type: ignore
-
- else:
- pass
-
- else:
- pass \ No newline at end of file