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.py217
1 files changed, 113 insertions, 104 deletions
diff --git a/ATRI/plugins/setu.py b/ATRI/plugins/setu.py
index 3a667fb..dbc62b7 100644
--- a/ATRI/plugins/setu.py
+++ b/ATRI/plugins/setu.py
@@ -87,6 +87,7 @@ async def setu(session: CommandSession):
if 1 <= res < 3:
if setu_type == 1:
res = randint(1,4)
+ 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;')
@@ -220,127 +221,135 @@ async def _(context):
if str(user) in data1.keys():
pass
else:
- 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
- img = b64_str_img_url(img)
- if img:
- 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)
-
+ with open(Path('.') / 'ATRI' / 'plugins' / 'switch' / 'switch.json', 'r') as f:
+ data1 = json.load(f)
+
+ if data1["setu_img"] == "on":
try:
- words = json.loads(res.content)['words_result'][0]['words']
- print(words)
+ 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
- if re.findall(r"[涩色]图", words):
- with open(Path('.') / 'ATRI' / 'plugins' / 'switch' / 'switch.json', 'r') as f:
- data1 = json.load(f)
+ img = b64_str_img_url(img)
+ if img:
+ 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)
+ except:
+ return
+
+ try:
+ words = json.loads(res.content)['words_result'][0]['words']
+ print(words)
+ except:
+ return
- if data1["setu"] == "on":
- res = randint(1,10)
- if 1 <= res < 9:
- res = randint(1,4)
- if 1 <= res < 3:
- if setu_type == 1:
- res = randint(1,4)
- 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 < 3:
- for i in msg:
- pid = i[0]
- title = i[1]
- img = i[7]
+ if re.findall(r"[涩色]图|炼铜", words):
+ with open(Path('.') / 'ATRI' / 'plugins' / 'switch' / 'switch.json', 'r') as f:
+ data1 = json.load(f)
+
+ if data1["setu"] == "on":
+ res = randint(1,10)
+ if 1 <= res < 9:
+ res = randint(1,4)
+ if 1 <= res < 3:
+ if setu_type == 1:
+ res = randint(1,4)
+ 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 < 3:
+ 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 == 4:
+ 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 bot.send_private_msg( # type: ignore
+ user_id = master,
+ message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{img}\nComplete time: {round(end - start, 3)}"
+ )
+
+ elif setu_type == 2:
+ res = randint(1,4)
+ 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 = '失败了失败了失...') # type: ignore
+ return
+ if 1 <= res < 3:
end = time.perf_counter()
msg = SETU_REPLY.format(
- title = title,
- pid = pid,
- setu = img,
- time = round(end - start, 3)
- )
+ 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 == 4:
- for i in msg:
- pid = i[0]
- title = i[1]
- img = i[7]
+ elif res == 4:
end = time.perf_counter()
await bot.send_group_msg(group_id = group, message = '我找到涩图了!但我发给主人了\nο(=•ω<=)ρ⌒☆') # type: ignore
await bot.send_private_msg( # type: ignore
user_id = master,
- message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{img}\nComplete time: {round(end - start, 3)}"
- )
-
- elif setu_type == 2:
- res = randint(1,4)
- 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 = '失败了失败了失...') # type: ignore
- return
- if 1 <= res < 3:
- end = time.perf_counter()
- msg = SETU_REPLY.format(
- title = title,
- pid = pid,
- setu = img,
- time = round(end - start, 3)
+ message = f"主人,从群{group}来的涩图!热乎着!\nTitle: {title}\nPid: {pid}\n{setu}\nComplete time: {round(end - start, 3)}"
)
- await bot.send_group_msg(group_id = group, message = msg) # type: ignore
- elif res == 4:
- end = time.perf_counter()
- await bot.send_group_msg(group_id = group, message = '我找到涩图了!但我发给主人了\nο(=•ω<=)ρ⌒☆') # type: ignore
- 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:
+ elif res == 4:
+ 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(
[
- '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 = 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
-
- 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 \ No newline at end of file
+ else:
+ pass \ No newline at end of file