Archived
1
0
Fork 0
This commit is contained in:
多羅狼 2023-09-28 13:19:20 +08:00 committed by GitHub
parent 98aac17350
commit 0372afc2dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 34 additions and 32 deletions

View file

@ -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

View file

@ -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}”模块不支持当前语言,此模块可能不会正确展示当前语言下的内容。",

View file

@ -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_))

View file

@ -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}]。",

View file

@ -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}]。",

View file

@ -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}]。",

View file

@ -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)