Restructure

This commit is contained in:
Richard Chien
2018-06-25 21:14:27 +08:00
parent 1392382244
commit e52aa34f85
7 changed files with 70 additions and 27 deletions

18
none/expression.py Normal file
View File

@ -0,0 +1,18 @@
import random
from typing import Union, Sequence, Callable
from aiocqhttp import message
from aiocqhttp.message import Message
def render(expr: Union[str, Sequence[str], Callable], *, escape_args=True,
**kwargs) -> Message:
if isinstance(expr, Callable):
expr = expr()
elif isinstance(expr, Sequence):
expr = random.choice(expr)
if escape_args:
for k, v in kwargs.items():
if isinstance(v, str):
kwargs[k] = message.escape(v)
return expr.format(**kwargs)