#935 IM Bot Channel Adapter 化 (Telegram POC + im_channel_routes schema)
This commit is contained in:
1 parent
048671870a
commit
6d5c2cf2c0
4 files changed
+477
-2
No files matched your search
+31
-2
@@ -39,14 +39,15 @@ from datetime import datetime
|
||||
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
from app.api import auth, chat, knowledge, market, token_usage, payment, profile, notifications, assets, evolution, skills_api
|
||||
from app.api import auth, chat, knowledge, market, market_products, token_usage, payment, profile, notifications, assets, evolution, skills_api
|
||||
from app.api.bug_audit import router as bug_audit_router
|
||||
from app.api.auth_verify import router as auth_verify_router
|
||||
from app.api.billing_webhook import router as billing_webhook_router
|
||||
from app.casdoor_auth import router as casdoor_router
|
||||
from app.api.admin import dashboard, users, models, settings, payment_admin, services, membership_admin, ads, market_admin, logs, skills_admin, agents_admin, knowledge_admin, workflow_admin, storage_admin, automation_admin, mcp_admin, developer_admin, apps_admin, distro_admin, code_exec_admin, privacy_admin, im_bot_admin, promotion_admin, achievement_admin, tenant_admin, billing_admin, analytics_admin, observability_admin
|
||||
from app.api.admin import dashboard, users, models, settings, payment_admin, services, membership_admin, ads, market_admin, market_products_admin, logs, skills_admin, agents_admin, knowledge_admin, workflow_admin, storage_admin, automation_admin, mcp_admin, developer_admin, apps_admin, distro_admin, code_exec_admin, privacy_admin, im_bot_admin, promotion_admin, achievement_admin, tenant_admin, billing_admin, analytics_admin, observability_admin
|
||||
from app.api.im_bot_user import router as im_bot_user_router
|
||||
from app.api.im_bot_platform import router as im_bot_platform_router
|
||||
from app.api.channel_webhook import router as channel_webhook_router
|
||||
from app.api.portal import user_portal
|
||||
from app.api.admin.developer_tools_admin import router as developer_tools_router
|
||||
from app.api.admin.mcp_market_admin import router as mcp_market_router
|
||||
@@ -194,6 +195,31 @@ async def lifespan(app: FastAPI):
|
||||
# 启动个人微信接收线程(之前仅在扫码确认时启动,重启后丢失)
|
||||
try:
|
||||
from app.api.im_bot_user import start_all_wechat_receivers
|
||||
# === #935 IM Bot ChannelRouter (Telegram / 飞书 / 企微 etc.) ===
|
||||
try:
|
||||
from app.core.channel_adapter import ChannelRouter
|
||||
import os
|
||||
router = ChannelRouter.shared()
|
||||
if os.getenv("TELEGRAM_BOT_TOKEN"):
|
||||
from app.core.telegram_channel import TelegramChannel
|
||||
router.register(TelegramChannel(
|
||||
bot_token=os.environ["TELEGRAM_BOT_TOKEN"],
|
||||
webhook_url=os.getenv("TELEGRAM_WEBHOOK_URL", ""),
|
||||
webhook_secret=os.getenv("TELEGRAM_WEBHOOK_SECRET", ""),
|
||||
))
|
||||
# 启动所有渠道(non-fatal)
|
||||
import asyncio
|
||||
try:
|
||||
loop = asyncio.get_event_loop()
|
||||
if loop.is_running():
|
||||
asyncio.ensure_future(router.start_all())
|
||||
else:
|
||||
loop.run_until_complete(router.start_all())
|
||||
except Exception as e:
|
||||
print(f"[main] channel router start_all failed (non-fatal): {e}")
|
||||
except Exception as _e:
|
||||
print(f"[main] channel router init failed (non-fatal): {_e}")
|
||||
|
||||
start_all_wechat_receivers()
|
||||
except Exception as e:
|
||||
logger.warning(f"[IM个人微信] 启动恢复失败(不影响正常服务): {e}")
|
||||
@@ -247,6 +273,7 @@ app.include_router(auth.router, prefix="/app/api/auth", tags=["认证"])
|
||||
app.include_router(chat.router, prefix="/app/api/chat", tags=["AI聊天"])
|
||||
app.include_router(knowledge.router, prefix="/app/api/knowledge", tags=["知识库"])
|
||||
app.include_router(market.router, prefix="/app/api/market", tags=["应用市场"])
|
||||
app.include_router(market_products.router, prefix="/app/api/market", tags=["产品市场"])
|
||||
app.include_router(token_usage.router, prefix="/app/api/token", tags=["Token驾驶舱"])
|
||||
app.include_router(payment.router, prefix="/app/api/payment", tags=["付费中心"])
|
||||
app.include_router(profile.router, prefix="/app/api/profile", tags=["个人中心"])
|
||||
@@ -265,6 +292,7 @@ app.include_router(services.router, prefix="/app/api/admin/services", tags=["后
|
||||
app.include_router(membership_admin.router, prefix="/app/api/admin/membership", tags=["后台-会员管理"])
|
||||
app.include_router(ads.router, prefix="/app/api/admin/ads", tags=["后台-广告管理"])
|
||||
app.include_router(market_admin.router, prefix="/app/api/admin/market", tags=["后台-应用审核"])
|
||||
app.include_router(market_products_admin.router, prefix="/app/api/admin/market-products", tags=["后台-产品审核"])
|
||||
app.include_router(logs.router, prefix="/app/api/admin/logs", tags=["后台-日志风控"])
|
||||
|
||||
app.include_router(skills_admin.router, prefix="/app/api/admin/skills", tags=["后台-技能管理"])
|
||||
@@ -285,6 +313,7 @@ app.include_router(privacy_admin.router, prefix="/app/api/admin/privacy", tags=[
|
||||
app.include_router(im_bot_admin.router, prefix="/app/api/admin/im-bot", tags=["im-bot"])
|
||||
app.include_router(im_bot_user_router, prefix="/app/api/im/wechat", tags=["im-wechat-user"])
|
||||
app.include_router(im_bot_platform_router, prefix="/app/api/im/platform", tags=["im-platform-user"])
|
||||
app.include_router(channel_webhook_router, prefix="", tags=["channel-webhook"])
|
||||
app.include_router(promotion_admin.router, prefix="/app/api/admin/promotion", tags=["promotion"])
|
||||
app.include_router(tenant_admin.router, prefix="/app/api/admin/tenant", tags=["tenant"])
|
||||
app.include_router(billing_admin.router, prefix="/app/api/admin/billing", tags=["billing"])
|
||||
|
||||
Reference in new issue
Block a user