Update dice.py
被骰子逻辑气死;jpg
This commit is contained in:
parent
ae39697add
commit
2ce6ab787b
4 changed files with 23 additions and 32 deletions
|
@ -24,7 +24,7 @@ class DiceSyntaxError(Exception):
|
|||
"""骰子语法错误"""
|
||||
|
||||
def __init__(self, msg, message):
|
||||
self.message = msg.locale.t("dice.message.error.syntax") + message
|
||||
self.message = message
|
||||
|
||||
|
||||
class DiceValueError(Exception):
|
||||
|
@ -32,9 +32,9 @@ class DiceValueError(Exception):
|
|||
|
||||
def __init__(self, msg, message, value=None):
|
||||
if value:
|
||||
self.message = msg.locale.t("dice.message.error.value.invalid", value=value) + message
|
||||
self.message = msg.locale.t("dice.message.error.value", value=value) + message
|
||||
else:
|
||||
self.message = msg.locale.t("dice.message.error.value") + message
|
||||
self.message = message
|
||||
|
||||
|
||||
# 类定义
|
||||
|
@ -112,7 +112,7 @@ class Dice(DiceItemBase):
|
|||
dice_count = '1' # 骰子数量
|
||||
advantage = '0' # 保留的骰子量
|
||||
if re.search(r'[^0-9DKL]', dice_code):
|
||||
raise DiceSyntaxError(msg, msg.locale.t("dice.message.error.syntax.invalid"))
|
||||
raise DiceSyntaxError(msg, msg.locale.t("dice.message.error.invalid"))
|
||||
if 'D' not in dice_code:
|
||||
raise DiceSyntaxError(msg, msg.locale.t("dice.message.error.syntax.missing_d"))
|
||||
temp = dice_code.split('D')
|
||||
|
@ -208,7 +208,7 @@ class FateDice(DiceItemBase):
|
|||
try:
|
||||
self.count = int(fate_code[:-1])
|
||||
except ValueError:
|
||||
raise DiceSyntaxError(msg, msg.locale.t("dice.message.error.syntax.invalid"))
|
||||
raise DiceSyntaxError(msg, msg.locale.t("dice.message.error.invalid"))
|
||||
if self.count <= 0 or self.count > MAX_DICE_COUNT:
|
||||
raise DiceValueError(msg,
|
||||
msg.locale.t("dice.message.error.value.n.out_of_range", max=MAX_DICE_COUNT),
|
||||
|
@ -246,7 +246,7 @@ async def GenerateMessage(msg, dices: str, times: int, dc: int):
|
|||
MAX_OUTPUT_LEN > 0, MAX_DETAIL_CNT > 0, MAX_ITEM_COUNT > 0]):
|
||||
raise ConfigValueError(msg.locale.t("error.config.invalid"))
|
||||
if re.search(r'[^0-9+\-DKLF]', dices.upper()):
|
||||
return DiceSyntaxError(msg, msg.locale.t('dice.message.error.syntax.invalid')).message
|
||||
return DiceSyntaxError(msg, msg.locale.t('dice.message.error.invalid')).message
|
||||
dice_code_cist = re.compile(r'[+-]?[^+-]+').findall(dices)
|
||||
dice_list = []
|
||||
have_err = False
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"dice.help": "Roll the specified dice. Support Onedice expression.",
|
||||
"dice.help": "Roll the specified dice.",
|
||||
"dice.help.desc": "Random dice. You can specify the number of dice rolls and DC check.",
|
||||
"dice.help.regex.desc": "(扔|投|掷|丢)<m>个[<n>面]骰子 Roll the specified dice.",
|
||||
"dice.help.rule": "Modify the check rule of DC.",
|
||||
|
@ -7,17 +7,14 @@
|
|||
"dice.message.dc.failed": " Failed!",
|
||||
"dice.message.dc.invalid": "Invalid DC: ",
|
||||
"dice.message.dc.success": " Success!",
|
||||
"dice.message.error": "The following error occurred while parsing the dice expression: ",
|
||||
"dice.message.error": "Unable to parse the dice expression: ",
|
||||
"dice.message.error.prompt": "Item ${i} occurs ",
|
||||
"dice.message.error.syntax": "SyntaxError: ",
|
||||
"dice.message.error.syntax.invalid": "Unrecognized characters in dice expression.",
|
||||
"dice.message.error.syntax.missing_d": "Dice expression missing character \"D\".",
|
||||
"dice.message.error.value": "ValueError: ",
|
||||
"dice.message.error.value.invalid": "ValueError: Input \"${value}\". ",
|
||||
"dice.message.error.invalid": "Unrecognized characters in dice expression.",
|
||||
"dice.message.error.value": "ValueError: Input \"${value}\". ",
|
||||
"dice.message.error.value.k.invalid": "Invalid advantages and disadvantages.",
|
||||
"dice.message.error.value.k.out_of_range": "The number of advantage and disadvantage dice is greater than the total number of dice.",
|
||||
"dice.message.error.value.m.invalid": "Invalid number of dice.",
|
||||
"dice.message.error.value.n.d1": "D... D1?",
|
||||
"dice.message.error.value.n.d1": "D1?",
|
||||
"dice.message.error.value.n.invalid": "Invalid number of sides of the die.",
|
||||
"dice.message.error.value.n.less_2": "The number of sides of the die cannot be less than 2.",
|
||||
"dice.message.error.value.N.out_of_range": "The number of die rolls cannot be less than 1 or greater than ${max}.",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"dice.help": "投掷指定骰子,支持 Onedice 骰子表达式。",
|
||||
"dice.help": "投掷指定骰子。",
|
||||
"dice.help.desc": "随机骰子,可指定投骰次数与 DC 判断判定。",
|
||||
"dice.help.regex.desc": "(扔|投|掷|丢)<m>个[<n>面]骰子[<N>次] 投掷指定骰子。",
|
||||
"dice.help.rule": "修改 DC 的判定规则。",
|
||||
|
@ -7,17 +7,14 @@
|
|||
"dice.message.dc.failed": " 判定失败!",
|
||||
"dice.message.dc.invalid": "无效的 DC:",
|
||||
"dice.message.dc.success": " 判定成功!",
|
||||
"dice.message.error": "解析骰子表达式时发生以下错误:",
|
||||
"dice.message.error.prompt": "第 ${i} 项发生",
|
||||
"dice.message.error.syntax": "语法错误:",
|
||||
"dice.message.error.syntax.invalid": "骰子语句中存在无法识别的字符。",
|
||||
"dice.message.error.syntax.missing_d": "骰子语句缺失字符“D”。",
|
||||
"dice.message.error.value": "参数错误:",
|
||||
"dice.message.error.value.invalid": "参数错误:输入为“${value}”,",
|
||||
"dice.message.error": "无法解析骰子表达式:",
|
||||
"dice.message.error.prompt": "第 ${i} 项发生:",
|
||||
"dice.message.error.invalid": "骰子表达式中存在无法识别的字符。",
|
||||
"dice.message.error.value": "输入为“${value}”,",
|
||||
"dice.message.error.value.k.invalid": "无效的优劣势。",
|
||||
"dice.message.error.value.k.out_of_range": "优劣势骰数大于总骰子数。",
|
||||
"dice.message.error.value.m.invalid": "无效的骰子数量。",
|
||||
"dice.message.error.value.n.d1": "1……1 面的骰子?",
|
||||
"dice.message.error.value.n.d1": "1 面的骰子?",
|
||||
"dice.message.error.value.n.invalid": "无效的骰子面数。",
|
||||
"dice.message.error.value.n.less_2": "骰子面数不得小于 2。",
|
||||
"dice.message.error.value.N.out_of_range": "投骰次数不得小于 1 或大于 ${max}。",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"dice.help": "投擲指定骰子,支援 Onedice 骰子運算式。",
|
||||
"dice.help": "投擲指定骰子。",
|
||||
"dice.help.desc": "隨機骰子,可指定投骰次數與 DC 判斷判定。",
|
||||
"dice.help.regex.desc": "(扔|投|擲|丟)<m>個[<n>面]骰子[<N>次] 投擲指定骰子。",
|
||||
"dice.help.rule": "修改 DC 的判定規則。",
|
||||
|
@ -7,17 +7,14 @@
|
|||
"dice.message.dc.failed": " 判定失敗!",
|
||||
"dice.message.dc.invalid": "無效的 DC:",
|
||||
"dice.message.dc.success": " 判定成功!",
|
||||
"dice.message.error": "解析骰子運算式時發生以下錯誤:",
|
||||
"dice.message.error.prompt": "第 ${i} 項發生",
|
||||
"dice.message.error.syntax": "語法錯誤:",
|
||||
"dice.message.error.syntax.invalid": "骰子語句中存在無法辨識的字元。",
|
||||
"dice.message.error.syntax.missing_d": "骰子語句缺失字元「D」。",
|
||||
"dice.message.error.value": "參數錯誤:",
|
||||
"dice.message.error.value.invalid": "參數错误:輸入為「${value}」,",
|
||||
"dice.message.error": "無法解析骰子運算式:",
|
||||
"dice.message.error.prompt": "第 ${i} 項發生:",
|
||||
"dice.message.error.invalid": "骰子語句中存在無法辨識的字元。",
|
||||
"dice.message.error.value": "參數错误:輸入為「${value}」,",
|
||||
"dice.message.error.value.k.invalid": "無效的優劣勢。",
|
||||
"dice.message.error.value.k.out_of_range": "優劣势骰數大於總骰子數。",
|
||||
"dice.message.error.value.m.invalid": "無效的骰子數量。",
|
||||
"dice.message.error.value.n.d1": "1……1 面的骰子?",
|
||||
"dice.message.error.value.n.d1": "1 面的骰子?",
|
||||
"dice.message.error.value.n.invalid": "無效的骰子面數。",
|
||||
"dice.message.error.value.n.less_2": "骰子面數不得小於 2。",
|
||||
"dice.message.error.value.N.out_of_range": "投骰次數不得小於 1 或大於 ${max}。",
|
||||
|
|
Reference in a new issue