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) # 双击打开独立窗口