package core

type SwitchSessionRequest struct {
	ToWxid string `json:"to_wxid"`
}

// SwitchSession 切换会话
func (w *WxApi) SwitchSession(request SwitchSessionRequest) error {
	_, err := w.internalCall(0, -1, MtSwitchSessionMsg, request, nil)
	return err
}

// ClearChatRecord 清空聊天记录
func (w *WxApi) ClearChatRecord() error {
	_, err := w.internalCall(0, -1, MtClearChatRecordMsg, map[string]interface{}{}, nil)
	return err
}

type ChatMsgNotNotifyRequest struct {
	Wxid   string `json:"wxid"`
	Status int    `json:"status"` // 1开启 0关闭
}

// ChatMsgNotNotify 消息免打扰
func (w *WxApi) ChatMsgNotNotify(request ChatMsgNotNotifyRequest) error {
	_, err := w.internalCall(0, -1, MtModRecvNotifyMsg, request, nil)
	return err
}

type ChatSessionTopRequest struct {
	Wxid   string `json:"wxid"`
	Status int    `json:"status"`
}

// ChatSessionTop 置顶会话
func (w *WxApi) ChatSessionTop(request ChatSessionTopRequest) error {
	_, err := w.internalCall(0, -1, MtModChatSessionTopMsg, request, nil)
	return err
}
