fix #693
This commit is contained in:
parent
9a632bfab1
commit
b45a1eea6b
1 changed files with 22 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import sys
|
import sys
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from dateutil.relativedelta import relativedelta
|
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})))
|
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 = module('config', developers=['OasisAkari'], required_superuser=True, alias='cfg')
|
||||||
|
|
||||||
|
|
||||||
@_config.handle('write <k> <v> [-s]')
|
@_config.handle('write <k> <v> [-s]')
|
||||||
async def _(msg: Bot.MessageSession):
|
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"))
|
await msg.finish(msg.locale.t("success"))
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in a new issue