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/utils/newbie.py

34 lines
1.1 KiB
Python
Raw Normal View History

2020-08-12 16:01:34 +00:00
import json
2020-07-25 16:51:08 +00:00
import re
2020-08-12 16:01:34 +00:00
2020-09-19 10:35:13 +00:00
import aiohttp
2021-02-01 15:13:11 +00:00
from core.dirty_check import check
2021-07-30 07:05:58 +00:00
from modules.wiki.wikilib import wikilib
2020-08-12 16:01:34 +00:00
2021-07-30 07:05:58 +00:00
async def newbie(wiki_url):
pageurl = await wikilib().get_article_path(wiki_url) + 'Special:Log?type=newusers'
if wiki_url:
url = wiki_url + '?action=query&list=logevents&letype=newusers&format=json'
2020-08-07 13:13:12 +00:00
async with aiohttp.ClientSession() as session:
2020-08-12 16:01:34 +00:00
async with session.get(url, timeout=aiohttp.ClientTimeout(total=20)) as req:
2020-08-07 13:13:12 +00:00
if req.status != 200:
2020-08-15 06:41:56 +00:00
return f"请求时发生错误:{req.status}"
2020-08-07 13:13:12 +00:00
else:
text1 = await req.text()
2020-08-07 13:17:47 +00:00
file = json.loads(text1)
2020-08-07 13:13:12 +00:00
d = []
for x in file['query']['logevents']:
d.append(x['title'])
print(str(d))
2021-02-01 15:13:11 +00:00
m = '\n'.join(d)
2021-02-19 11:24:23 +00:00
y = await check(m)
2020-08-07 13:13:12 +00:00
print(str(y))
2021-02-01 15:13:11 +00:00
f = re.findall(r'.*\n.*\n.*\n.*\n.*', str(y))
g = pageurl + '\n' + f[0] + '\n...仅显示前5条内容'
2020-08-12 16:01:34 +00:00
if g.find('<吃掉了>') != -1 or g.find('<全部吃掉了>') != -1:
return g + '\n检测到外来信息介入请前往日志查看所有消息。Special:日志?type=newusers'
2020-08-07 13:13:12 +00:00
else:
return g