2021-08-29 16:53:43 +00:00
|
|
|
import ujson as json
|
2021-08-23 14:17:04 +00:00
|
|
|
|
2021-11-12 14:25:53 +00:00
|
|
|
from core.component import on_startup
|
2021-09-10 18:05:27 +00:00
|
|
|
from core.dirty_check import check
|
|
|
|
from core.elements import FetchTarget
|
2021-08-23 14:17:04 +00:00
|
|
|
from core.logger import Logger
|
2021-08-23 16:08:21 +00:00
|
|
|
from core.scheduler import Scheduler
|
2021-08-23 14:17:04 +00:00
|
|
|
from core.utils import get_url
|
2021-11-12 14:25:53 +00:00
|
|
|
from modules.wiki.utils.UTC8 import UTC8
|
2021-08-23 14:17:04 +00:00
|
|
|
|
|
|
|
|
2021-10-24 10:55:45 +00:00
|
|
|
@on_startup('__check_newbie__', required_superuser=True, developers=['OasisAkari'])
|
2021-08-23 14:17:04 +00:00
|
|
|
async def newbie(bot: FetchTarget):
|
|
|
|
Logger.info('Subbot newbie launched')
|
|
|
|
url = 'https://minecraft.fandom.com/zh/api.php?action=query&list=logevents&letype=newusers&format=json'
|
2021-08-23 16:08:21 +00:00
|
|
|
file = json.loads(await get_url(url))
|
|
|
|
qq = []
|
|
|
|
for x in file['query']['logevents'][:]:
|
|
|
|
qq.append(x['title'])
|
2021-11-12 14:25:53 +00:00
|
|
|
|
2021-08-23 16:08:21 +00:00
|
|
|
@Scheduler.scheduled_job('interval', seconds=60)
|
|
|
|
async def check_newbie():
|
|
|
|
qqqq = json.loads(await get_url(url))
|
|
|
|
for xz in qqqq['query']['logevents'][:]:
|
|
|
|
if xz['title'] not in qq:
|
2021-11-12 14:25:53 +00:00
|
|
|
prompt = UTC8(xz['timestamp'], 'onlytime') + '新增新人:\n' + xz['title']
|
|
|
|
s = await check(prompt)
|
|
|
|
for z in s:
|
|
|
|
s = z['content']
|
|
|
|
if not z['status']:
|
|
|
|
s = s + '\n检测到外来信息介入,请前往日志查看所有消息。' \
|
|
|
|
'https://minecraft.fandom.com/zh/wiki/Special:%E6%97%A5%E5%BF%97?type=newusers'
|
|
|
|
await bot.post_message('__check_newbie__', s)
|
|
|
|
qq.append(xz['title'])
|