2021-07-27 16:03:48 +00:00
|
|
|
import re
|
|
|
|
|
2023-05-17 09:30:26 +00:00
|
|
|
from core.builtins import Bot, Image
|
2023-03-04 08:51:56 +00:00
|
|
|
from core.component import module
|
2023-05-17 09:30:26 +00:00
|
|
|
from .bugtracker import bugtracker_get, make_screenshot
|
2021-07-27 16:03:48 +00:00
|
|
|
|
2023-06-04 08:20:03 +00:00
|
|
|
bug = module('bugtracker', alias='bug', developers=['OasisAkari'])
|
2021-07-27 16:03:48 +00:00
|
|
|
|
2021-10-24 10:55:45 +00:00
|
|
|
|
2023-04-05 02:22:37 +00:00
|
|
|
@bug.handle('<MojiraID> {{bugtracker.help}}')
|
2023-02-05 14:33:33 +00:00
|
|
|
async def bugtracker(msg: Bot.MessageSession):
|
2021-07-27 16:03:48 +00:00
|
|
|
mojira_id = msg.parsed_msg['<MojiraID>']
|
|
|
|
if mojira_id:
|
|
|
|
q = re.match(r'(.*-.*)', mojira_id)
|
|
|
|
if q:
|
2023-03-23 08:07:10 +00:00
|
|
|
result = await bugtracker_get(msg, q.group(1))
|
2023-05-17 09:30:26 +00:00
|
|
|
await msg.sendMessage(result[0])
|
|
|
|
if result[1] is not None:
|
|
|
|
screenshot = await make_screenshot(result[1])
|
|
|
|
if screenshot:
|
|
|
|
await msg.sendMessage(Image(screenshot))
|
2021-07-27 16:03:48 +00:00
|
|
|
|
|
|
|
|
2023-07-04 09:21:42 +00:00
|
|
|
@bug.regex(pattern=r'\!?\b([A-Z]+)-(\d+)\b', mode='M', desc='{bugtracker.help.regex.desc}')
|
2023-02-05 14:33:33 +00:00
|
|
|
async def regex_bugtracker(msg: Bot.MessageSession):
|
2023-07-04 09:21:42 +00:00
|
|
|
matched_msg = msg.matched_msg
|
2023-06-07 05:01:57 +00:00
|
|
|
if len(matched_msg.group(0)) < 10 and len(matched_msg.group(1)) < 10:
|
2023-03-23 08:07:10 +00:00
|
|
|
result = await bugtracker_get(msg, matched_msg.group(1) + '-' + matched_msg.group(2))
|
2023-05-17 09:30:26 +00:00
|
|
|
await msg.sendMessage(result[0])
|
|
|
|
if result[1] is not None:
|
|
|
|
screenshot = await make_screenshot(result[1])
|
|
|
|
if screenshot:
|
|
|
|
await msg.sendMessage(Image(screenshot))
|
2021-10-13 15:22:11 +00:00
|
|
|
|
|
|
|
|
2023-07-03 03:57:16 +00:00
|
|
|
@bug.regex(re.compile(r'https?://bugs\.mojang\.com/(?:browse/(.*?-\d*)|projects/.*?/issues/(.*?-\d*))'),
|
2023-07-04 09:11:58 +00:00
|
|
|
mode='A', desc='{bugtracker.help.regex.url}')
|
2023-02-05 14:33:33 +00:00
|
|
|
async def _(msg: Bot.MessageSession):
|
|
|
|
async def bgtask(msg: Bot.MessageSession):
|
2022-09-03 16:37:20 +00:00
|
|
|
for title in msg.matched_msg:
|
2023-03-23 08:07:10 +00:00
|
|
|
for t in title:
|
|
|
|
if t != '':
|
2023-07-03 03:49:27 +00:00
|
|
|
get_ = await bugtracker_get(msg, t.split('?')[0], nolink=True)
|
2023-07-03 03:40:18 +00:00
|
|
|
await msg.sendMessage(get_[0])
|
|
|
|
if get_[1] is not None:
|
|
|
|
screenshot = await make_screenshot(get_[1])
|
2023-05-17 09:30:26 +00:00
|
|
|
if screenshot:
|
|
|
|
await msg.sendMessage(Image(screenshot))
|
2023-01-28 05:53:11 +00:00
|
|
|
|
2023-03-23 08:07:10 +00:00
|
|
|
await bgtask(msg)
|