astrbbbb / astrbot /core /utils /command_parser.py
qa1145's picture
Upload 1245 files
8ede856 verified
import re
class CommandTokens:
def __init__(self) -> None:
self.tokens = []
self.len = 0
def get(self, idx: int) -> str | None:
if idx >= self.len:
return None
return self.tokens[idx].strip()
class CommandParserMixin:
def parse_commands(self, message: str):
cmd_tokens = CommandTokens()
cmd_tokens.tokens = re.split(r"\s+", message)
cmd_tokens.len = len(cmd_tokens.tokens)
return cmd_tokens
def regex_match(self, message: str, command: str) -> bool:
return re.search(command, message, re.MULTILINE) is not None