From 1b2a4a10ae70f4766b06c7961d34a2ea481f0245 Mon Sep 17 00:00:00 2001 From: zhxy-CN Date: Mon, 6 Jun 2022 17:40:07 +0800 Subject: [PATCH] =?UTF-8?q?calculator=20=E6=96=B0=E5=A2=9E=E8=BF=9B?= =?UTF-8?q?=E5=88=B6=E8=BD=AC=E6=8D=A2=E5=8A=9F=E8=83=BD=20(#4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- calculator.py | 33 ++++++++++++++++++++++++++++++--- list.json | 8 ++++---- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/calculator.py b/calculator.py index cde2a39..b5601e1 100644 --- a/calculator.py +++ b/calculator.py @@ -1,11 +1,10 @@ -from pagermaid import version from pagermaid.listener import listener from pagermaid.utils import attach_log, execute, alias_command @listener(is_plugin=False, outgoing=True, command=alias_command("cal"), - description="计算", - parameters="<加减乘除>") + description="计算\n示例:\n`-cal 1+1`加法\n`-cal 2-1`减法\n`-cal 1*2`乘法\n`-cal 4/2`除法\n`-cal 4^2`幂运算\n`-cal sqrt(4)`开方", + parameters="<基本运算>") async def cal(context): command = context.arguments if context.is_channel and not context.is_group: @@ -28,3 +27,31 @@ async def cal(context): await context.edit(f"{command}=\n`{result}`") else: return + +@listener(is_plugin=False, outgoing=True, command=alias_command("con"), + description="换算\n示例:\n`-con 2 99`将99转换为2进制", + parameters="<进制(数字)> <数值>") +async def con(context): + command = context.arguments.split() + if context.is_channel and not context.is_group: + await context.edit("`出错了呜呜呜 ~ 当前 PagerMaid-Modify 的配置禁止在频道中执行此命令。`") + return + + if not command: + await context.edit("`出错了呜呜呜 ~ 无效的参数。`") + return + + obase = command[0].upper().strip() + num = command[1].upper().strip() + await context.edit(f"{num}") + cmd = f'echo "obase={obase};{num}" | bc' + result = await execute(cmd) + + if result: + if len(result) > 4096: + await attach_log(result, context.chat_id, "output.log", context.id) + return + + await context.edit(f"{num}=\n`{result}`\n{obase}进制") + else: + return \ No newline at end of file diff --git a/list.json b/list.json index b9dd0d6..bcd79bb 100644 --- a/list.json +++ b/list.json @@ -332,13 +332,13 @@ }, { "name": "calculator", - "version": "1.021", + "version": "1.1", "section": "chat", - "maintainer": "Pentacene", - "size": "1.0 kb", + "maintainer": "Pentacene,zhxycn", + "size": "1.48 kb", "supported": true, "des-short": "小型计算器", - "des": "/cal 6+4。" + "des": "支持基本运算(加减乘除乘方开方)及进制转换。\n命令:-cal [表达式] -con [进制] [数字]\n例如:`-cal 1+2` `-con 16 10`" }, { "name": "paolu",