Archived
1
0
Fork 0

add bedrock & dungeons jira mcv rss

This commit is contained in:
yzhh 2021-04-10 22:41:19 +08:00
parent d4e09ef036
commit f5907a60c0
5 changed files with 102 additions and 24 deletions

View file

@ -0,0 +1,5 @@
Future Release
1.16.230.54 Beta
1.16.220
1.16.220.02

View file

@ -0,0 +1,4 @@
1.8.3.0 (Nintendo Switch)
1.8.4.0 (Xbox, PlayStation)
1.8.6.0 (Windows)

View file

@ -14,8 +14,7 @@ from modules.mcv.mcv import get_data
check_enable_modules_all = BotDB.check_enable_modules_all
def mcversion():
path = os.path.abspath('./assets/mcversion.txt')
def getfileversions(path):
if not os.path.exists(path):
a = open(path, 'a')
a.close()
@ -24,25 +23,14 @@ def mcversion():
w.close()
return s
def mcversion_jira():
path = os.path.abspath('./assets/mcversion_jira.txt')
if not os.path.exists(path):
a = open(path, 'a')
a.close()
w = open(path, 'r+')
s = w.read().split('\n')
w.close()
return s
async def mcv_rss(app):
url = 'http://launchermeta.mojang.com/mc/game/version_manifest.json'
logger_info('Subbot ver launched')
while True:
try:
version_file = os.path.abspath('./assets/mcversion.txt')
logger_info('Checking mcv...')
verlist = mcversion()
verlist = getfileversions(version_file)
file = await get_data(url, 'json')
release = file['latest']['release']
snapshot = file['latest']['snapshot']
@ -62,10 +50,10 @@ async def mcv_rss(app):
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
addversion = open('./assets/mcversion.txt', 'a')
addversion = open(version_file, 'a')
addversion.write('\n' + release)
addversion.close()
verlist = mcversion()
verlist = getfileversions(version_file)
release_ = re.sub('\.', '-', release)
article_link = 'https://www.minecraft.net/en-us/article/minecraft-java-edition-' + release_
async with aiohttp.ClientSession() as getart:
@ -134,8 +122,9 @@ async def mcv_jira_rss(app):
logger_info('Subbot jira launched')
while True:
try:
version_file = os.path.abspath('./assets/mcversion_jira.txt')
logger_info('Checking Jira mcv...')
verlist = mcversion_jira()
verlist = getfileversions(version_file)
file = await get_data(url, 'json')
release = []
for v in file:
@ -147,18 +136,18 @@ async def mcv_jira_rss(app):
for qqgroup in check_enable_modules_all('group_permission', 'mcv_jira_rss'):
try:
await app.sendGroupMessage(int(qqgroup), MessageChain.create(
[Plain(f'Jira已更新{x}\nJira上的信息仅作版本号预览用不代表启动器已更新此版本')]))
[Plain(f'Jira已更新Java版{x}\nJira上的信息仅作版本号预览用不代表启动器已更新此版本')]))
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
for qqfriend in check_enable_modules_all('friend_permission', 'mcv_jira_rss_self'):
try:
await app.sendFriendMessage(int(qqfriend), MessageChain.create(
[Plain(f'Jira已更新{x}\nJira上的信息仅作版本号预览用不代表启动器已更新此版本')]))
[Plain(f'Jira已更新Java版{x}\nJira上的信息仅作版本号预览用不代表启动器已更新此版本')]))
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
addversion = open('./assets/mcversion_jira.txt', 'a')
addversion = open(version_file, 'a')
addversion.write('\n' + x)
addversion.close()
logger_info('jira mcv checked.')
@ -168,7 +157,86 @@ async def mcv_jira_rss(app):
await asyncio.sleep(20)
rss = {'mcv_rss': mcv_rss, 'mcv_jira_rss': mcv_jira_rss}
async def mcv_jira_rss_bedrock(app):
url = 'https://bugs.mojang.com/rest/api/2/project/10200/versions'
logger_info('Subbot jira-bedrock launched')
while True:
try:
version_file = os.path.abspath('./assets/mcversion_jira-bedrock.txt')
logger_info('Checking Jira mcv-bedrock...')
verlist = getfileversions(version_file)
file = await get_data(url, 'json')
release = []
for v in file:
if not v['archived']:
release.append(v['name'])
for x in release:
if x not in verlist:
logger_info(f'huh, we find {x}.')
for qqgroup in check_enable_modules_all('group_permission', 'mcv_jira_rss'):
try:
await app.sendGroupMessage(int(qqgroup), MessageChain.create(
[Plain(f'Jira已更新基岩版{x}\nJira上的信息仅作版本号预览用不代表商店已更新此版本')]))
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
for qqfriend in check_enable_modules_all('friend_permission', 'mcv_jira_rss_self'):
try:
await app.sendFriendMessage(int(qqfriend), MessageChain.create(
[Plain(f'Jira已更新基岩版{x}\nJira上的信息仅作版本号预览用不代表商店已更新此版本')]))
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
addversion = open(version_file, 'a')
addversion.write('\n' + x)
addversion.close()
logger_info('jira mcv-bedrock checked.')
await asyncio.sleep(90)
except Exception:
traceback.print_exc()
await asyncio.sleep(20)
async def mcv_jira_rss_dungeons(app):
url = 'https://bugs.mojang.com/rest/api/2/project/11901/versions'
logger_info('Subbot jira-dungeons launched')
while True:
try:
version_file = os.path.abspath('./assets/mcversion_jira-dungeons.txt')
logger_info('Checking Jira mcv-bedrock...')
verlist = getfileversions(version_file)
file = await get_data(url, 'json')
release = []
for v in file:
if not v['archived']:
release.append(v['name'])
for x in release:
if x not in verlist:
logger_info(f'huh, we find {x}.')
for qqgroup in check_enable_modules_all('group_permission', 'mcv_jira_rss'):
try:
await app.sendGroupMessage(int(qqgroup), MessageChain.create(
[Plain(f'Jira已更新Dungeons {x}\nJira上的信息仅作版本号预览用不代表商店已更新此版本')]))
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
for qqfriend in check_enable_modules_all('friend_permission', 'mcv_jira_rss_self'):
try:
await app.sendFriendMessage(int(qqfriend), MessageChain.create(
[Plain(f'Jira已更新Dungeons {x}\nJira上的信息仅作版本号预览用不代表启动器已更新此版本')]))
await asyncio.sleep(0.5)
except Exception:
traceback.print_exc()
addversion = open(version_file, 'a')
addversion.write('\n' + x)
addversion.close()
logger_info('jira mcv-dungeons checked.')
await asyncio.sleep(90)
except Exception:
traceback.print_exc()
await asyncio.sleep(20)
rss = {'mcv_rss': mcv_rss, 'mcv_jira_rss': mcv_jira_rss, 'mcv_bedrock_jira_rss': mcv_jira_rss_bedrock, 'mcv_dungeons_jira_rss': mcv_jira_rss_dungeons}
options = ['mcv_rss', 'mcv_jira_rss']
friend_options = ['mcv_rss_self', 'mcv_jira_rss_self']
help = {'mcv_rss': {'help': '订阅Minecraft Java版游戏版本检测。仅群聊'},

View file

@ -8,3 +8,4 @@ selenium
eventlet
psutil
gql[all]==3.0.0a5
graiax-silkcoder

View file

@ -4,4 +4,4 @@ import sys
filepath = sys.argv[1]
filepath2 = filepath + '.silk'
asyncio.run(silkcoder.encode(filepath, filepath2))
asyncio.run(silkcoder.encode(filepath, filepath2, rate=240000))