add bedrock & dungeons jira mcv rss
This commit is contained in:
parent
d4e09ef036
commit
f5907a60c0
5 changed files with 102 additions and 24 deletions
5
assets/mcversion_jira-bedrock.txt
Normal file
5
assets/mcversion_jira-bedrock.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
|
||||
Future Release
|
||||
1.16.230.54 Beta
|
||||
1.16.220
|
||||
1.16.220.02
|
4
assets/mcversion_jira-dungeons.txt
Normal file
4
assets/mcversion_jira-dungeons.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
1.8.3.0 (Nintendo Switch)
|
||||
1.8.4.0 (Xbox, PlayStation)
|
||||
1.8.6.0 (Windows)
|
|
@ -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}。\n(Jira上的信息仅作版本号预览用,不代表启动器已更新此版本)')]))
|
||||
[Plain(f'Jira已更新Java版{x}。\n(Jira上的信息仅作版本号预览用,不代表启动器已更新此版本)')]))
|
||||
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}。\n(Jira上的信息仅作版本号预览用,不代表启动器已更新此版本)')]))
|
||||
[Plain(f'Jira已更新Java版{x}。\n(Jira上的信息仅作版本号预览用,不代表启动器已更新此版本)')]))
|
||||
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}。\n(Jira上的信息仅作版本号预览用,不代表商店已更新此版本)')]))
|
||||
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}。\n(Jira上的信息仅作版本号预览用,不代表商店已更新此版本)')]))
|
||||
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}。\n(Jira上的信息仅作版本号预览用,不代表商店已更新此版本)')]))
|
||||
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}。\n(Jira上的信息仅作版本号预览用,不代表启动器已更新此版本)')]))
|
||||
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版游戏版本检测。(仅群聊)'},
|
||||
|
|
|
@ -7,4 +7,5 @@ beautifulsoup4
|
|||
selenium
|
||||
eventlet
|
||||
psutil
|
||||
gql[all]==3.0.0a5
|
||||
gql[all]==3.0.0a5
|
||||
graiax-silkcoder
|
|
@ -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))
|
||||
|
|
Reference in a new issue