38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import random
|
|
from konabot.plugins.handle_text.base import TextHandleResult, TextHandler, TextHandlerEnvironment, TextHandlerSync
|
|
|
|
|
|
class THShuffle(TextHandler):
|
|
name: str = "shuffle"
|
|
keywords: list = ["打乱"]
|
|
|
|
async def handle(self, env: TextHandlerEnvironment, istream: str | None, args: list[str]) -> TextHandleResult:
|
|
if istream is not None:
|
|
w = istream
|
|
elif len(args) == 0:
|
|
return TextHandleResult(1, "使用方法:打乱 <待打乱的文本>,或者使用管道符传入待打乱的文本")
|
|
else:
|
|
w = args[0]
|
|
args = args[1:]
|
|
|
|
w = [*w]
|
|
random.shuffle(w)
|
|
return TextHandleResult(0, ''.join(w))
|
|
|
|
|
|
class THSorted(TextHandlerSync):
|
|
name = "sort"
|
|
keywords = ["排序"]
|
|
|
|
def handle_sync(self, env: TextHandlerEnvironment, istream: str | None, args: list[str]) -> TextHandleResult:
|
|
if istream is not None:
|
|
w = istream
|
|
elif len(args) == 0:
|
|
return TextHandleResult(1, "使用方法:排序 <待排序的文本>,或者使用管道符传入待打乱的文本")
|
|
else:
|
|
w = args[0]
|
|
args = args[1:]
|
|
|
|
return TextHandleResult(0, ''.join(sorted([*w])))
|
|
|