Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/modules/mcv/mcv.py
2022-08-04 15:52:42 +08:00

84 lines
3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import json
import re
from google_play_scraper import app as google_play_scraper
from core.elements import ErrorMessage
from core.logger import Logger
from core.utils import get_url
async def mcv():
try:
data = json.loads(await get_url('https://piston-meta.mojang.com/mc/game/version_manifest.json', 200))
message1 = f"最新版:{data['latest']['release']},最新快照:{data['latest']['snapshot']}"
except (ConnectionError, OSError): # Probably...
message1 = "获取manifest.json失败。"
try:
mojira = json.loads(await get_url('https://bugs.mojang.com/rest/api/2/project/10400/versions', 200))
release = []
prefix = ' | '
for v in mojira:
if not v['archived']:
release.append(v['name'])
message2 = prefix.join(release)
except Exception:
message2 = "获取Mojira信息失败。"
return f"""目前启动器内最新版本为:
{message1}
Mojira上所记录最新版本为
{message2}
以启动器内最新版本为准Mojira仅作版本号预览用"""
async def mcbv():
try: # play store
play_store_version = google_play_scraper('com.mojang.minecraftpe')['version']
except Exception:
play_store_version = '获取失败'
try:
data = json.loads(await get_url('https://bugs.mojang.com/rest/api/2/project/10200/versions', 200))
except (ConnectionError, OSError): # Probably...
return ErrorMessage('土豆熟了')
beta = []
preview = []
release = []
for v in data:
if not v['archived']:
if re.match(r".*Beta$", v["name"]):
beta.append(v["name"])
elif re.match(r".*Preview$", v["name"]):
preview.append(v["name"])
else:
if v["name"] != "Future Release":
release.append(v["name"])
fix = " | "
msg2 = f'Beta: {fix.join(beta)}\nPreview: {fix.join(preview)}\nRelease: {fix.join(release)}'
return f"""目前商店内最新正式版为:
{play_store_version}
Mojira上所记录最新版本为
{msg2}
以商店内最新版本为准Mojira仅作版本号预览用"""
async def mcdv():
try:
data = json.loads(await get_url('https://bugs.mojang.com/rest/api/2/project/11901/versions', 200))
except (ConnectionError, OSError): # Probably...
return ErrorMessage('土豆熟了')
release = []
for v in data:
if not v['archived']:
release.append(v["name"])
return f'最新版:{" | ".join(release)} \n数据来源于MoJira可能会比官方发布要早一段时间。信息仅供参考。'
async def mcev():
try:
data = await get_url('https://meedownloads.blob.core.windows.net/win32/x86/updates/Updates.txt', 200)
Logger.debug(data)
version = re.search(r'(?<=\[)(.*?)(?=])', data)[0]
Logger.debug(version)
except (ConnectionError, OSError): # Probably...
return ErrorMessage('土豆熟了')
return f'最新版:{version}'