Update
This commit is contained in:
parent
98aac17350
commit
0372afc2dc
7 changed files with 34 additions and 32 deletions
|
@ -11,7 +11,6 @@ from aiohttp import TCPConnector
|
|||
from tenacity import retry, wait_fixed, stop_after_attempt
|
||||
|
||||
from config import Config
|
||||
from core.exceptions import NoReportException
|
||||
from core.logger import Logger
|
||||
from .cache import random_cache_path
|
||||
|
||||
|
@ -84,7 +83,7 @@ async def get_url(url: str, status_code: int = False, headers: dict = None, para
|
|||
text = await req.text()
|
||||
return text
|
||||
except asyncio.exceptions.TimeoutError:
|
||||
raise NoReportException(f'Request timeout.')
|
||||
raise ValueError(f'Request timeout.')
|
||||
except Exception as e:
|
||||
Logger.error(f'Error while requesting {url}: {e}')
|
||||
raise e
|
||||
|
@ -135,7 +134,7 @@ async def post_url(url: str, data: any = None, status_code: int = False, headers
|
|||
text = await req.text()
|
||||
return text
|
||||
except asyncio.exceptions.TimeoutError:
|
||||
raise NoReportException(f'Request timeout.')
|
||||
raise ValueError(f'Request timeout.')
|
||||
except Exception as e:
|
||||
Logger.error(f'Error while requesting {url}: {e}')
|
||||
raise e
|
||||
|
|
|
@ -99,15 +99,16 @@
|
|||
"core.message.module.module.help": "模块“${module}”的帮助信息:",
|
||||
"core.message.module.recommends": "建议同时开启以下模块:\n${msgs}\n是否一并开启?",
|
||||
"core.message.module.reload.confirm": "该操作将额外同时重载以下模块:\n${modules}\n是否继续?",
|
||||
"core.message.module.reload.confirm.core": "你正在尝试重载基础模块!是否继续?",
|
||||
"core.message.module.reload.confirm.base": "你正在尝试重载基础模块!是否继续?",
|
||||
"core.message.module.reload.failed": "重载模块失败。",
|
||||
"core.message.module.reload.no_more": "\n未发现已加载的其余文件。",
|
||||
"core.message.module.reload.success": "成功重载模块:\n${module}",
|
||||
"core.message.module.reload.success.core": "成功重载基础模块。",
|
||||
"core.message.module.reload.success.base": "成功重载基础模块。",
|
||||
"core.message.module.reload.unbound": "失败:“${module}”模块尚未绑定。",
|
||||
"core.message.module.reload.with": "\n以及该模块下的 ${reloadCnt} 个文件。",
|
||||
"core.message.module.unload.confirm": "此操作将会卸载与其相关的所有模块,并在下一次重启后彻底禁用(不包含互相引用的模块),是否继续?",
|
||||
"core.message.module.unload.error": "发生错误:该模块不存在。",
|
||||
"core.message.module.unload.base": "失败:“${module}”模块为基础模块,无法卸载。",
|
||||
"core.message.module.unload.success": "成功卸载模块:${module}",
|
||||
"core.message.module.unload.unavailable.confirm": "此模块已由于发生错误而无法加载,此操作将会在下一次重启后彻底禁用此模块,是否继续?",
|
||||
"core.message.module.unsupported_language": "提示:“${module}”模块不支持当前语言,此模块可能不会正确展示当前语言下的内容。",
|
||||
|
|
|
@ -168,7 +168,7 @@ async def config_modules(msg: Bot.MessageSession):
|
|||
def module_reload(module, extra_modules, base_mode=False):
|
||||
reload_count = ModulesManager.reload_module(module)
|
||||
if base_mode:
|
||||
return f'{msg.locale.t("core.message.module.reload.success.core")}'
|
||||
return f'{msg.locale.t("core.message.module.reload.success.base")}'
|
||||
elif reload_count > 1:
|
||||
return f'{msg.locale.t("core.message.module.reload.success", module=module)}' + (
|
||||
'\n' if len(extra_modules) != 0 else '') + \
|
||||
|
@ -190,18 +190,17 @@ async def config_modules(msg: Bot.MessageSession):
|
|||
else:
|
||||
extra_reload_modules = ModulesManager.search_related_module(module_, False)
|
||||
if modules_[module_].base:
|
||||
confirm = await msg.wait_confirm(msg.locale.t("core.message.module.reload.confirm.core"))
|
||||
confirm = await msg.wait_confirm(msg.locale.t("core.message.module.reload.confirm.base"))
|
||||
if confirm:
|
||||
base_mode = True
|
||||
|
||||
else:
|
||||
continue
|
||||
await msg.finish()
|
||||
|
||||
elif len(extra_reload_modules):
|
||||
confirm = await msg.wait_confirm(msg.locale.t("core.message.module.reload.confirm",
|
||||
modules='\n'.join(extra_reload_modules)))
|
||||
if not confirm:
|
||||
continue
|
||||
await msg.finish()
|
||||
unloaded_list = CFG.get('unloaded_modules')
|
||||
if unloaded_list and module_ in unloaded_list:
|
||||
unloaded_list.remove(module_)
|
||||
|
@ -248,6 +247,9 @@ async def config_modules(msg: Bot.MessageSession):
|
|||
else:
|
||||
msglist.append(msg.locale.t("core.message.module.unload.error"))
|
||||
continue
|
||||
if modules_[module_].base:
|
||||
msglist.append(msg.locale.t("core.message.module.unload.base", module=module_))
|
||||
continue
|
||||
if await msg.wait_confirm(msg.locale.t("core.message.module.unload.confirm")):
|
||||
if ModulesManager.unload_module(module_):
|
||||
msglist.append(msg.locale.t("core.message.module.unload.success", module=module_))
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
"wiki.help.headers.list": "展示当前设置的请求标头。",
|
||||
"wiki.help.headers.remove": "删除自定义请求标头。",
|
||||
"wiki.help.headers.reset": "重置自定义请求标头。",
|
||||
"wiki.help.headers.set": "添加自定义请求标头。",
|
||||
"wiki.help.headers.add": "添加自定义请求标头。",
|
||||
"wiki.help.id": "根据页面 ID 查询一个 Wiki 页面。",
|
||||
"wiki.help.iw.get": "获取设置的 Interwiki 对应的 API 地址。",
|
||||
"wiki.help.iw.list": "展示当前设置的 Interwiki。",
|
||||
"wiki.help.iw.list.legacy": "展示当前设置的 Interwiki。(旧版)",
|
||||
"wiki.help.iw.remove": "Remove custom Interwiki.",
|
||||
"wiki.help.iw.set": "添加自定义 Interwiki。",
|
||||
"wiki.help.iw.add": "添加自定义 Interwiki。",
|
||||
"wiki.help.newbie.desc": "获取默认 Wiki 的新用户日志。",
|
||||
"wiki.help.option.l": "查找本页面的对应语言版本,若无结果则返回当前语言。",
|
||||
"wiki.help.prefix.reset": "重置自定义前缀。",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"wiki.message.flies": "此页面包括以下文件:\n",
|
||||
"wiki.message.headers.list": "当前设置了以下请求标头:\n${headers}\n如需自定义,请使用 ${prefix}wiki headers set <headers>。\n示例:\n${prefix}wiki headers set {{\"accept-language\": \"zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\"}}",
|
||||
"wiki.message.headers.reset.success": "成功:已重置请求时所使用的请求标头。",
|
||||
"wiki.message.headers.set.success": "成功:已更新请求时所使用的请求标头:${headers}",
|
||||
"wiki.message.headers.add.success": "成功:已更新请求时所使用的请求标头:${headers}",
|
||||
"wiki.message.id.error": "发生错误:页面 ID 必须为数字。",
|
||||
"wiki.message.id.not_found": "未找到页面 ID 为 ${id} 的页面。",
|
||||
"wiki.message.invalid_namespace": "此 Wiki 上没有名为 ${namespace} 的命名空间,请检查拼写后重试。",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"wiki.message.iw.list.prompt": "此处展示的是为机器人设置的自定义 Interwiki,如需查看起始 Wiki 的 Interwiki,请见:${url}",
|
||||
"wiki.message.iw.none": "当前没有设置任何 Interwiki,可使用 ${prefix}wiki iw add <interwiki> <api_endpoint_link> 添加。",
|
||||
"wiki.message.iw.remove.success": "成功:已删除自定义 Interwiki:${iw}",
|
||||
"wiki.message.iw.set.success": "成功:已添加自定义 Interwiki:\n${iw} -> ${name}",
|
||||
"wiki.message.iw.add.success": "成功:已添加自定义 Interwiki:\n${iw} -> ${name}",
|
||||
"wiki.message.magic_word": "提示:机器人暂不支持魔术字。",
|
||||
"wiki.message.not_found": "未找到 [${title}]。",
|
||||
"wiki.message.not_found.autofix": "提示:[${title}]不存在,您可能要找的是:[${redirected_title}]。",
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
"wiki.help.headers.list": "展示当前设置的请求标头。",
|
||||
"wiki.help.headers.remove": "删除自定义请求标头。",
|
||||
"wiki.help.headers.reset": "重置自定义请求标头。",
|
||||
"wiki.help.headers.set": "添加自定义请求标头。",
|
||||
"wiki.help.headers.add": "添加自定义请求标头。",
|
||||
"wiki.help.id": "根据页面 ID 查询一个 Wiki 页面。",
|
||||
"wiki.help.iw.get": "获取设置的 Interwiki 对应的 API 地址。",
|
||||
"wiki.help.iw.list": "展示当前设置的 Interwiki。",
|
||||
"wiki.help.iw.list.legacy": "展示当前设置的 Interwiki。(旧版)",
|
||||
"wiki.help.iw.remove": "删除自定义 Interwiki。",
|
||||
"wiki.help.iw.set": "添加自定义 Interwiki。",
|
||||
"wiki.help.iw.add": "添加自定义 Interwiki。",
|
||||
"wiki.help.newbie.desc": "获取默认 Wiki 的新用户日志。",
|
||||
"wiki.help.option.l": "查找本页面的对应语言版本,若无结果则返回当前语言。",
|
||||
"wiki.help.prefix.reset": "重置自定义前缀。",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"wiki.message.flies": "此页面包括以下文件:\n",
|
||||
"wiki.message.headers.list": "当前设置了以下请求标头:\n${headers}\n如需自定义,请使用“${prefix}wiki headers set”。\n示例:\n${prefix}wiki headers set {{\"accept-language\": \"zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\"}}",
|
||||
"wiki.message.headers.reset.success": "成功:已重置请求时所使用的请求标头。",
|
||||
"wiki.message.headers.set.success": "成功:已更新请求时所使用的请求标头:${headers}",
|
||||
"wiki.message.headers.add.success": "成功:已更新请求时所使用的请求标头:${headers}",
|
||||
"wiki.message.id.error": "发生错误:页面 ID 必须为数字。",
|
||||
"wiki.message.id.not_found": "未找到页面 ID 为 ${id} 的页面。",
|
||||
"wiki.message.invalid_namespace": "此 Wiki 上没有名为 ${namespace} 的命名空间,请检查拼写后重试。",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"wiki.message.iw.list.prompt": "此处展示的是为机器人设置的自定义 Interwiki,如需查看起始 Wiki 的 Interwiki,请见:${url}",
|
||||
"wiki.message.iw.none": "当前没有设置任何 Interwiki,可使用“${prefix}wiki iw add”添加。",
|
||||
"wiki.message.iw.remove.success": "成功:已删除自定义 Interwiki:${iw}",
|
||||
"wiki.message.iw.set.success": "成功:已添加自定义 Interwiki:\n${iw} -> ${name}",
|
||||
"wiki.message.iw.add.success": "成功:已添加自定义 Interwiki:\n${iw} -> ${name}",
|
||||
"wiki.message.magic_word": "提示:机器人暂不支持魔术字。",
|
||||
"wiki.message.not_found": "未找到 [${title}]。",
|
||||
"wiki.message.not_found.autofix": "提示:[${title}]不存在,您可能要找的是:[${redirected_title}]。",
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
"wiki.help.headers.list": "展示目前設定的請求標頭。",
|
||||
"wiki.help.headers.remove": "刪除自訂請求標頭。",
|
||||
"wiki.help.headers.reset": "重設自訂請求標頭。",
|
||||
"wiki.help.headers.set": "新增自訂請求標頭。",
|
||||
"wiki.help.headers.add": "新增自訂請求標頭。",
|
||||
"wiki.help.id": "依據頁面 ID 查詢一個 Wiki 頁面。",
|
||||
"wiki.help.iw.get": "取得設定的 Interwiki 對應的 API 位址。",
|
||||
"wiki.help.iw.list": "展示目前設定的 Interwiki。",
|
||||
"wiki.help.iw.list.legacy": "展示目前設定的 Interwiki。(舊版)",
|
||||
"wiki.help.iw.remove": "刪除自訂 Interwiki。",
|
||||
"wiki.help.iw.set": "新增自訂 Interwiki。",
|
||||
"wiki.help.iw.add": "新增自訂 Interwiki。",
|
||||
"wiki.help.newbie.desc": "取得預設 Wiki 的最新使用者日誌。",
|
||||
"wiki.help.option.l": "查找本頁面的對應語言版本,若無結果則返回目前語言。",
|
||||
"wiki.help.prefix.reset": "重設自訂前綴。",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"wiki.message.flies": "此頁面含有以下檔案:",
|
||||
"wiki.message.headers.list": "目前設定了以下請求標頭:\n${headers}\n如需自訂,請使用「${prefix}wiki headers set」。 \n示例:\n${prefix}wiki headers set {{\"accept-language\": \"zh-TW,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\"}}",
|
||||
"wiki.message.headers.reset.success": "成功:已重設請求時所使用的請求標頭:",
|
||||
"wiki.message.headers.set.success": "成功:已更新請求時所使用的請求標頭:${headers}",
|
||||
"wiki.message.headers.add.success": "成功:已更新請求時所使用的請求標頭:${headers}",
|
||||
"wiki.message.id.error": "發生錯誤:頁面 ID 必須為數字。",
|
||||
"wiki.message.id.not_found": "未找到頁面 ID 為 ${id} 的頁面。",
|
||||
"wiki.message.invalid_namespace": "此 Wiki 上沒有名為 ${namespace} 的命名空間,请檢查拼字後重試。",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"wiki.message.iw.list.prompt": "此處展示的是機器人設定的自訂 Interwiki,如需查看起始 Wiki 的 Interwiki,請見:${url}",
|
||||
"wiki.message.iw.none": "目前沒有設定任何 Interwiki,可使用 「${prefix}wiki iw add」新增。",
|
||||
"wiki.message.iw.remove.success": "成功:已刪除自訂 Interwiki:${iw}",
|
||||
"wiki.message.iw.set.success": "成功:已新增自訂 Interwiki:\n${iw} -> ${name}",
|
||||
"wiki.message.iw.add.success": "成功:已新增自訂 Interwiki:\n${iw} -> ${name}",
|
||||
"wiki.message.magic_word": "提示:機器人暫不支援魔術字。",
|
||||
"wiki.message.not_found": "未找到 [${title}]。",
|
||||
"wiki.message.not_found.autofix": "提示:[${title}]不存在,您可能要找的是:[${redirected_title}]。",
|
||||
|
|
|
@ -31,7 +31,7 @@ async def set_start_wiki(msg: Bot.MessageSession):
|
|||
await msg.finish(result)
|
||||
|
||||
|
||||
@wiki.handle('iw (add|set) <Interwiki> <WikiUrl> {{wiki.help.iw.set}}', required_admin=True)
|
||||
@wiki.handle('iw add <Interwiki> <WikiUrl> {{wiki.help.iw.add}}', required_admin=True)
|
||||
async def _(msg: Bot.MessageSession):
|
||||
iw = msg.parsed_msg['<Interwiki>']
|
||||
url = msg.parsed_msg['<WikiUrl>']
|
||||
|
@ -41,7 +41,7 @@ async def _(msg: Bot.MessageSession):
|
|||
if not check.value.in_blocklist or check.value.in_allowlist:
|
||||
result = target.config_interwikis(iw, check.value.api, let_it=True)
|
||||
if result:
|
||||
await msg.finish(msg.locale.t("wiki.message.iw.set.success", iw=iw, name=check.value.name) +
|
||||
await msg.finish(msg.locale.t("wiki.message.iw.add.success", iw=iw, name=check.value.name) +
|
||||
(('\n' + msg.locale.t("wiki.message.wiki_audit.untrust") + Config(
|
||||
"wiki_whitelist_url"))
|
||||
if enable_urlmanager and not check.value.in_allowlist else ''))
|
||||
|
@ -53,7 +53,7 @@ async def _(msg: Bot.MessageSession):
|
|||
await msg.finish(result)
|
||||
|
||||
|
||||
@wiki.handle('iw (del|delete|remove|rm) <Interwiki> {{wiki.help.iw.remove}}', required_admin=True)
|
||||
@wiki.handle('iw remove <Interwiki> {{wiki.help.iw.remove}}', required_admin=True)
|
||||
async def _(msg: Bot.MessageSession):
|
||||
iw = msg.parsed_msg['<Interwiki>']
|
||||
target = WikiTargetInfo(msg)
|
||||
|
@ -62,8 +62,8 @@ async def _(msg: Bot.MessageSession):
|
|||
await msg.finish(msg.locale.t("wiki.message.iw.remove.success", iw=iw))
|
||||
|
||||
|
||||
@wiki.handle(['iw (list|show) {{wiki.help.iw.list}}',
|
||||
'iw (list|show) legacy {{wiki.help.iw.list.legacy}}'])
|
||||
@wiki.handle(['iw list {{wiki.help.iw.list}}',
|
||||
'iw list legacy {{wiki.help.iw.list.legacy}}'])
|
||||
async def _(msg: Bot.MessageSession):
|
||||
target = WikiTargetInfo(msg)
|
||||
query = target.get_interwikis()
|
||||
|
@ -107,7 +107,7 @@ async def _(msg: Bot.MessageSession):
|
|||
await msg.finish(msg.locale.t("wiki.message.iw.none", prefix=msg.prefixes[0]))
|
||||
|
||||
|
||||
@wiki.handle(['headers (list|show) {{wiki.help.headers.list}}'])
|
||||
@wiki.handle(['headers list {{wiki.help.headers.list}}'])
|
||||
async def _(msg: Bot.MessageSession):
|
||||
target = WikiTargetInfo(msg)
|
||||
headers = target.get_headers()
|
||||
|
@ -115,22 +115,22 @@ async def _(msg: Bot.MessageSession):
|
|||
await msg.finish(prompt)
|
||||
|
||||
|
||||
@wiki.handle('headers (add|set) <Headers> {{wiki.help.headers.set}}', required_admin=True)
|
||||
@wiki.handle('headers add <Headers> {{wiki.help.headers.add}}', required_admin=True)
|
||||
async def _(msg: Bot.MessageSession):
|
||||
target = WikiTargetInfo(msg)
|
||||
add = target.config_headers(
|
||||
" ".join(msg.trigger_msg.split(" ")[3:]), let_it=True)
|
||||
if add:
|
||||
await msg.finish(msg.locale.t("wiki.message.headers.set.success", headers=json.dumps(target.get_headers())))
|
||||
await msg.finish(msg.locale.t("wiki.message.headers.add.success", headers=json.dumps(target.get_headers())))
|
||||
|
||||
|
||||
@wiki.handle('headers (del|delete|remove|rm) <HeaderKey> {{wiki.help.headers.remove}}', required_admin=True)
|
||||
@wiki.handle('headers remove <HeaderKey> {{wiki.help.headers.remove}}', required_admin=True)
|
||||
async def _(msg: Bot.MessageSession):
|
||||
target = WikiTargetInfo(msg)
|
||||
delete = target.config_headers(
|
||||
[msg.parsed_msg['<HeaderHey>']], let_it=False)
|
||||
if delete:
|
||||
await msg.finish(msg.locale.t("wiki.message.headers.set.success", headers=json.dumps(target.get_headers())))
|
||||
await msg.finish(msg.locale.t("wiki.message.headers.add.success", headers=json.dumps(target.get_headers())))
|
||||
|
||||
|
||||
@wiki.handle('headers reset {{wiki.help.headers.reset}}', required_admin=True)
|
||||
|
|
Reference in a new issue