Skip to content

Session

会话列表面板操作,包含搜索框和会话列表。

方法

is_visible()

会话列表面板是否可见。

  • 返回 bool

visible()

获取当前可见的会话列表。

  • 返回 List[SessionItem]

names()

获取当前可见会话的名称列表。

  • 返回 List[str]

selected()

获取当前选中的会话名称。

  • 返回 str | None

search(keyword, chat_type=None)

搜索并打开会话。

  • keyword str — 搜索关键词
  • chat_type List[str] | None — 优先匹配分类,如 ["联系人", "群聊"]

open_by_search(name, chat_type=None, force_search=False)

打开指定名称的会话。优先在列表中直接点击,找不到则搜索。

open_session(nickname, timeout=5)

打开会话并返回 Chat 对象。

  • 返回 Chat

open_session_by_search(nickname, chat_type=None, force_search=False, timeout=5)

通过搜索打开会话并返回 Chat 对象。

  • 返回 Chat

get_sessions(count=None, speed=10)

通过滚动遍历获取会话列表。

  • 返回 List[SessionItem]

iter_sessions_by_scroll(count=None, speed=10)

逐条获取会话列表(生成器),保留未读消息数。

  • Yields SessionItem

scroll(direction="down", clicks=3)

滚动会话列表。

  • direction "up" | "down"

create_room(nicknames)

发起群聊。

  • nicknames List[str] — 至少 2 个好友昵称

add_friend(keyword, message=None, remark=None, ...)

添加好友。

  • 返回 dict{"result": bool, "reason": str | None}

create_note(content)

创建笔记并写入内容,完成后关闭。

会话项操作快捷方法

这些方法内部查找对应 SessionItem 并执行操作:

python
session.open(name)           # 打开会话
session.close(name)          # 关闭会话
session.pin(name)            # 置顶
session.unpin(name)          # 取消置顶
session.mute(name)           # 消息免打扰
session.unmute(name)         # 允许通知
session.mark_as_unread(name) # 标为未读
session.mark_as_read(name)   # 标为已读
session.hide(name)           # 不显示
session.delete(name)         # 删除会话
session.separate(name)       # 独立窗口显示
session.separate_by_click(name)  # 双击打开独立窗口