Archived
1
0
Fork 0
This commit is contained in:
多羅狼 2023-04-08 17:35:57 +08:00 committed by GitHub
parent 1ef9957b0a
commit 1c9f0a624f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 33 deletions

View file

@ -16,9 +16,9 @@
"error.request.api.timeout": "请求 API 超时。",
"tos.warning": "警告:\n根据服务条款你已违反我们的行为准则。",
"tos.reason": "具体原因:",
"tos.reason.cooldown": "一段时间内使用相同命令的次数过多",
"tos.reason.abuse": "一段时间内使用命令的次数过多",
"tos.reason.bypass": "无视临时限制警告",
"tos.reason.cooldown": "一段时间内使用相同命令的次数过多",
"tos.reason.abuse": "一段时间内使用命令的次数过多",
"tos.reason.bypass": "无视临时限制警告",
"tos.warning.count": "这是对你的第 ${current_warns} 次警告。如超过 5 次警告,我们将会把你的账户加入黑名单。",
"tos.warning.appeal": "如果你有任何异议,请至 ${issue_url} 发起问题。",
"tos.warning.last": "这是对你的最后一次警告。",
@ -32,6 +32,7 @@
"parser.admin.module.permission.denied": "${module} 模块下的命令仅能被该群组的管理员所使用,请联系管理员执行此命令。",
"parser.admin.submodule.permission.denied": "此命令仅能被该群组的管理员所使用,请联系管理员执行此命令。",
"parser.module.disabled.prompt": "${module} 模块未启用,请发送 ${prefix}enable ${module} 启用本模块。",
"error": "发生错误:",
"example": "你好世界!",
"success": "成功。",
"yes": "是",

View file

@ -1,7 +1,6 @@
{
"coin.begin": "你抛了${count} 枚硬币,",
"coin.help": "抛n枚硬币",
"coin.error": "发生错误:",
"coin.error.amount": "发生错误:无效的硬币个数:",
"coin.error.max": "发生错误:你最多只能抛 ${max} 个硬币",
"coin.error.nocoin": "发生错误:你抛了个空气,什么也没发生...",

View file

@ -97,12 +97,12 @@ async def _(msg: Bot.MessageSession):
if guess_type is not None:
if guess_type.extension in ["png", "gif", "jpg", "jpeg", "webp", "bmp", "ico"]:
if msg.Feature.image:
await msg.sendMessage([Plain(msg.locale.t('wiki.message.flies', file=get_page.file)), Image(dl)],
await msg.sendMessage([Plain(msg.locale.t('wiki.wiki_inline.message.flies', file=get_page.file)), Image(dl)],
quote=False)
img_send = True
elif guess_type.extension in ["oga", "ogg", "flac", "mp3", "wav"]:
if msg.Feature.voice:
await msg.sendMessage([Plain(msg.locale.t('wiki.message.flies', file=get_page.file)), Voice(dl)],
await msg.sendMessage([Plain(msg.locale.t('wiki.wiki_inline.message.flies', file=get_page.file)), Voice(dl)],
quote=False)
if msg.Feature.image:
if get_page.status and wiki_.wiki_info.in_allowlist:

View file

@ -15,6 +15,7 @@
"wiki.wiki_audit.list.message.table.header.apilink": "API 链接",
"wiki.wiki_audit.list.message.table.header.operator": "操作者",
"wiki.wiki_inline.help.desc": "开启后将自动解析消息中带有的[[]]或{{}}字符串并自动查询 Wiki例如[[海晶石]]。",
"wiki.wiki_inline.message.flies": "此页面包括以下文件:${file}",
"wiki.search.help": "搜索一个 Wiki 页面。",
"wiki.search.message": "查询到以下结果:",
"wiki.search.message.prompt": "回复编号以查询对应的页面。",
@ -30,7 +31,7 @@
"wiki.iw.list.help.legacy": "展示当前设置的 Interwiki。旧版",
"wiki.iw.list.message": "使用 ${prefix}wiki iw get <Interwiki> 可以获取 Interwiki 对应的链接。",
"wiki.iw.list.message.legacy": "当前设置了以下 Interwiki",
"wiki.iw.list.message.redirect": "此处展示的是为机器人设定的自定义 Interwiki如需查看起始 Wiki 的 Interwiki请见${url}",
"wiki.iw.list.message.more_information": "此处展示的是为机器人设定的自定义 Interwiki如需查看起始 Wiki 的 Interwiki请见${url}",
"wiki.iw.get.help": "获取设置的 Interwiki 对应的 API 地址。",
"wiki.iw.get.message.not_found": "未找到 Interwiki${iw}",
"wiki.headers.list.help": "展示当前设置的请求标头。",
@ -54,11 +55,14 @@
"wiki.prefix.reset.message.success": "成功:已重置请求时所使用的前缀。",
"wiki.help": "查询一个 Wiki 页面,若查询“随机页面”则随机一个页面。",
"wiki.help.l": "查找本页面的对应语言版本,若无结果则返回当前语言。",
"wiki.p.help": "根据页面 ID 查询一个 Wiki 页面。",
"wiki.p.message.error": "发生错误:页面 ID 必须是数字。",
"wiki.message.error.abuse": "发生错误:页面 ID 必须是数字。",
"wiki.id.help": "根据页面 ID 查询一个 Wiki 页面。",
"wiki.id.message.error": "发生错误:页面 ID 必须是数字。",
"wiki.message.redirect": "(重定向[${title}] -> [${redirected_title}]",
"wiki.message.redirect.template_to_page": "[${title}]不存在,已自动重定向至[${redirected_title}]",
"wiki.message.invalid_namespace": "此 Wiki 上没有名为${namespace}的命名空间,请检查拼写后重试。",
"wiki.message.magic_word": "提示:机器人暂不支持魔术字。",
"tos.reason.too_many_redirects": "使机器人重定向页面的次数过多。",
"tos.reason.wiki_abuse": "一次性查询的页面超出15个。",
"wiki.message.flies": "此页面包括以下文件:${file}",
"wiki.message.untrust": "注意:此 Wiki 当前没有加入机器人的白名单列表中,查询此 Wiki 时将会对返回内容进行一些限制。\n如需取消限制请在此处申请白名单\n",
"wiki.message.error.add": "发生错误:无法添加此 Wiki。",
"wiki.message.error.blocked": "发生错误:${name} 处于黑名单中。",

View file

@ -79,13 +79,13 @@ async def _(msg: Bot.MessageSession):
if img:
mt = msg.locale.t("wiki.iw.list.message", prefix=msg.prefixes[0])
if base_interwiki_link is not None:
mt += '\n' + msg.locale.t("wiki.iw.list.message.redirect", url=str(Url(base_interwiki_link)))
mt += '\n' + msg.locale.t("wiki.iw.list.message.more_information", url=str(Url(base_interwiki_link)))
await msg.finish([Image(img), Plain(mt)])
else:
result = msg.locale.t("wiki.iw.list.message.legacy") + '\n' + \
'\n'.join([f'{x}: {query[x]}' for x in query])
if base_interwiki_link is not None:
result += '\n' + msg.locale.t("wiki.iw.list.message.redirect", url=str(Url(base_interwiki_link)))
result += '\n' + msg.locale.t("wiki.iw.list.message.more_information", url=str(Url(base_interwiki_link)))
await msg.finish(result)
else:
await msg.finish(msg.locale.t("wiki.iw.message.none", prefix=msg.prefixes[0]))

View file

@ -22,8 +22,8 @@ wiki = module('wiki',
developers=['OasisAkari'])
@wiki.handle('<PageName> [-l <lang>] {查询一个Wiki页面若查询“随机页面”则随机一个页面。}',
options_desc={'-l': '查找本页面的对应语言版本,若无结果则返回当前语言。'})
@wiki.handle('<PageName> [-l <lang>] {{wiki.help}}',
options_desc={'-l': '{wiki.help.l}'})
async def _(msg: Bot.MessageSession):
get_lang: dict = msg.parsed_msg.get('-l', False)
if get_lang:
@ -33,7 +33,7 @@ async def _(msg: Bot.MessageSession):
await query_pages(msg, msg.parsed_msg['<PageName>'], lang=lang)
@wiki.handle('-p <PageID> [-i <CustomIW>] {根据页面ID查询一个Wiki页面。}')
@wiki.handle('id <PageID> [-i <CustomIW>] {{wiki.id.help}}')
async def _(msg: Bot.MessageSession):
if msg.parsed_msg.get('-i', False):
iw: str = msg.parsed_msg['-i'].get('<CustomIW>', '')
@ -41,7 +41,7 @@ async def _(msg: Bot.MessageSession):
iw = ''
page_id: str = msg.parsed_msg['<PageID>']
if not page_id.isdigit():
await msg.finish('错误页面ID必须是数字。')
await msg.finish(msg.locale.t('wiki.id.message.error'))
Logger.debug(msg.parsed_msg)
await query_pages(msg, pageid=page_id, iw=iw)
@ -69,15 +69,13 @@ async def query_pages(session: Union[Bot.MessageSession, QueryInfo], title: Unio
if start_wiki is None:
if isinstance(session, Bot.MessageSession):
await session.sendMessage(
f'没有指定起始Wiki已默认指定为中文Minecraft Wiki发送{session.prefixes[0]}wiki set <域名>来设定自定义起始Wiki。'
f'\n例子:{session.prefixes[0]}wiki set https://minecraft.fandom.com/zh/wiki/')
await session.sendMessage(msg.locale.t('wiki.set.message.default', prefix=session.prefixes[0]))
start_wiki = 'https://minecraft.fandom.com/zh/api.php'
if title is not None:
if isinstance(title, str):
title = [title]
if len(title) > 15:
raise AbuseWarning('一次性查询的页面超出15个。')
raise AbuseWarning(msg.locale.t('tos.reason.wiki_abuse'))
query_task = {start_wiki: {'query': [], 'iw_prefix': ''}}
for t in title:
if prefix is not None and use_prefix:
@ -147,7 +145,7 @@ async def query_pages(session: Union[Bot.MessageSession, QueryInfo], title: Unio
try:
tasks = []
for rd in ready_for_query_pages:
if rd == '随机页面':
if rd in {'随机页面', "隨機頁面", "Random"} or :
tasks.append(asyncio.create_task(
WikiLib(q, headers).random_page()))
else:
@ -179,11 +177,9 @@ async def query_pages(session: Union[Bot.MessageSession, QueryInfo], title: Unio
plain_slice = []
if display_before_title is not None and display_before_title != display_title:
if r.before_page_property == 'template' and r.page_property == 'page':
plain_slice.append(
f'[{display_before_title}]不存在,已自动重定向至[{display_title}]')
plain_slice.append(msg.locale.t('wiki.message.redirect.template_to_page', title=display_before_title, redirected_title=display_title))
else:
plain_slice.append(
f'(重定向[{display_before_title}] -> [{display_title}]')
plain_slice.append(msg.locale.t('wiki.message.redirect', title=display_before_title, redirected_title=display_title))
if r.desc is not None and r.desc != '':
plain_slice.append(r.desc)
if r.link is not None:
@ -247,24 +243,22 @@ async def query_pages(session: Union[Bot.MessageSession, QueryInfo], title: Unio
if r.desc is not None and r.desc != '':
plain_slice.append(r.desc)
if r.invalid_namespace and r.before_title is not None:
plain_slice.append(
f'此Wiki上没有名为{r.invalid_namespace}的命名空间,请检查拼写后再试。')
plain_slice.append(msg.locale.t('wiki.message.invalid_namespace'))
if r.before_page_property == 'template':
if r.before_title.split(':')[1].isupper():
plain_slice.append(
f'提示:机器人暂不支持魔术字。')
plain_slice.append(msg.locale.t('wiki.message.magic_word'))
if plain_slice:
msg_list.append(Plain('\n'.join(plain_slice)))
if wait_plain_slice:
wait_msg_list.append(
Plain('\n'.join(wait_plain_slice)))
except WhatAreUDoingError:
raise AbuseWarning('使机器人重定向页面的次数过多。')
raise AbuseWarning(msg.locale.t('tos.reason.too_many_redirects'))
except InvalidWikiError as e:
if isinstance(session, Bot.MessageSession):
await session.sendMessage(f'发生错误:' + str(e))
await session.sendMessage(msg.locale.t('error') + str(e))
else:
msg_list.append(Plain(f'发生错误:' + str(e)))
msg_list.append(Plain(msg.locale.t('error') + str(e)))
if isinstance(session, Bot.MessageSession):
if msg_list:
if all([not render_infobox_list, not render_section_list,