Archived
1
0
Fork 0
This commit is contained in:
yzhh 2023-07-15 00:23:16 +08:00
parent 9a632bfab1
commit b45a1eea6b

View file

@ -1,5 +1,6 @@
import asyncio
import os
import re
import sys
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
@ -410,12 +411,32 @@ if Config('enable_eval'):
await msg.finish(str(eval(msg.parsed_msg['<display_msg>'], {'msg': msg})))
def isfloat(num):
try:
float(num)
return True
except ValueError:
return False
_config = module('config', developers=['OasisAkari'], required_superuser=True, alias='cfg')
@_config.handle('write <k> <v> [-s]')
async def _(msg: Bot.MessageSession):
CFG.write(msg.parsed_msg['<k>'], msg.parsed_msg['<v>'], msg.parsed_msg['-s'])
value = msg.parsed_msg['<v>']
if value == 'True':
value = True
elif value == 'False':
value = False
elif value.isdigit():
value = int(value)
elif isfloat(value):
value = float(value)
elif re.match('^(?:{.*}|[.*])$', value):
value = json.loads(value)
CFG.write(msg.parsed_msg['<k>'], value, msg.parsed_msg['-s'])
await msg.finish(msg.locale.t("success"))