Archived
1
0
Fork 0

Update dice.py

被骰子逻辑气死;jpg
This commit is contained in:
多羅狼 2024-03-23 00:26:36 +08:00 committed by GitHub
parent ae39697add
commit 2ce6ab787b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 23 additions and 32 deletions

View file

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

View file

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

View file

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

View file

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