mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-07-27 16:21:28 +00:00
Restructure
This commit is contained in:
18
none/expression.py
Normal file
18
none/expression.py
Normal 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)
|
Reference in New Issue
Block a user