| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- """
- 获取飞书群聊 ID 工具
- 使用步骤:
- 1. 确保机器人已加入目标群聊
- 2. 运行此脚本
- 3. 在群聊中发送任意消息(@机器人)
- 4. 脚本会输出群聊 ID
- """
- import asyncio
- import logging
- import sys
- from pathlib import Path
- # 添加项目路径
- sys.path.insert(0, str(Path(__file__).parent.parent.parent))
- from agent.tools.builtin.feishu.feishu_client import FeishuClient
- from dotenv import load_dotenv
- load_dotenv()
- from config import FEISHU_APP_ID, FEISHU_APP_SECRET
- logging.basicConfig(level=logging.INFO)
- logger = logging.getLogger(__name__)
- def on_message_received(event):
- """消息回调函数"""
- print("\n" + "=" * 60)
- print("📩 收到消息")
- print("=" * 60)
- print(f"群聊 ID (chat_id): {event.chat_id}")
- print(f"发送者 ID (sender_open_id): {event.sender_open_id}")
- print(f"发送者姓名: {event.sender_name or '未知'}")
- print(f"消息内容: {event.content}")
- print(f"聊天类型: {event.chat_type.value}")
- print("=" * 60)
- if event.chat_type.value == "group":
- print(f"\n✅ 请将以下群聊 ID 配置到 .env 文件:")
- print(f"FEISHU_AD_PROJECT_CHAT_ID={event.chat_id}")
- else:
- print(f"\n⚠️ 这是私聊消息,群聊 ID 是 {event.chat_id}")
- print()
- def main():
- print("=" * 60)
- print("飞书群聊 ID 获取工具")
- print("=" * 60)
- print()
- print("📋 使用说明:")
- print("1. 确保机器人已加入目标群聊")
- print("2. 脚本启动后,在群聊中发送任意消息(建议@机器人)")
- print("3. 脚本会自动输出群聊 ID")
- print()
- print(f"飞书应用 ID: {FEISHU_APP_ID}")
- print()
- print("🚀 启动监听...")
- print("=" * 60)
- print()
- client = FeishuClient(
- app_id=FEISHU_APP_ID,
- app_secret=FEISHU_APP_SECRET
- )
- # 启动 WebSocket 监听(阻塞模式)
- try:
- client.start_websocket(
- on_message=on_message_received,
- blocking=True
- )
- except KeyboardInterrupt:
- print("\n\n✋ 用户中断,退出程序")
- except Exception as e:
- logger.error(f"监听失败: {e}", exc_info=True)
- print(f"\n❌ 启动失败: {e}")
- print("\n请检查:")
- print(" 1. FEISHU_APP_ID 和 FEISHU_APP_SECRET 是否正确")
- print(" 2. 机器人应用是否已启用事件订阅")
- print(" 3. 网络连接是否正常")
- if __name__ == "__main__":
- main()
|