melobot.protocols.console 源代码
from melobot.protocols import ProtocolStack
from .adapter import * # noqa: F403
from .const import PROTOCOL_IDENTIFIER, PROTOCOL_NAME, PROTOCOL_SUPPORT_AUTHOR, PROTOCOL_VERSION
from .handle import on_event, on_input
from .io import * # noqa: F403
[文档]
class ConsoleProtocol(ProtocolStack):
[文档]
def __init__(self, *srcs: ConsoleIO) -> None:
super().__init__()
if len(srcs) == 0:
srcs = (ConsoleIO(),)
self.adapter = Adapter()
self.inputs = set()
self.outputs = set()
for src in srcs:
if not isinstance(src, ConsoleIO):
raise TypeError(f"不是有效的控制台源对象: {type(src)}")
if isinstance(src, ConsoleIO):
self.inputs.add(src)
if isinstance(src, ConsoleIO):
self.outputs.add(src)