61 lines
1.3 KiB
Python
61 lines
1.3 KiB
Python
|
|
import logging
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import irc # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import nostr # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import wecom # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import activitypub # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import kuaishou # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import tencent_im # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
try:
|
||
|
|
from yuxi.channel.extensions import xiaohongshu # noqa
|
||
|
|
except ImportError:
|
||
|
|
pass
|
||
|
|
|
||
|
|
from yuxi.channel.plugins.registry import ChannelPluginRegistry
|
||
|
|
|
||
|
|
logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
|
||
|
|
def init_builtin_channels():
|
||
|
|
logger.info("Initializing built-in channel plugins...")
|
||
|
|
|
||
|
|
from yuxi.channel.plugins.discovery import run_discovery_pipeline
|
||
|
|
|
||
|
|
result = run_discovery_pipeline()
|
||
|
|
logger.info(
|
||
|
|
"Plugin discovery complete: %d discovered, %d skipped, %d errors",
|
||
|
|
sum(1 for d in result.discovered if not d.already_registered),
|
||
|
|
len(result.skipped),
|
||
|
|
len(result.errors),
|
||
|
|
)
|
||
|
|
|
||
|
|
plugins = ChannelPluginRegistry.list_all()
|
||
|
|
logger.info(
|
||
|
|
"Registered %d channel plugins: %s",
|
||
|
|
len(plugins),
|
||
|
|
[p.id for p in plugins],
|
||
|
|
)
|