wechat

package
v0.0.0-...-2d28aed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2023 License: AGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CLIENT_API_URL = "http://127.0.0.1:%d/api/?type=%d"

	WECHAT_IS_LOGIN                     = 0
	WECHAT_GET_SELF_INFO                = 1
	WECHAT_MSG_SEND_TEXT                = 2
	WECHAT_MSG_SEND_AT                  = 3
	WECHAT_MSG_SEND_IMAGE               = 5
	WECHAT_MSG_SEND_FILE                = 6
	WECHAT_MSG_START_HOOK               = 9
	WECHAT_MSG_START_IMAGE_HOOK         = 11
	WECHAT_MSG_START_VOICE_HOOK         = 13
	WECHAT_CONTACT_GET_LIST             = 15
	WECHAT_CHATROOM_GET_MEMBER_LIST     = 25
	WECHAT_CHATROOM_GET_MEMBER_NICKNAME = 26
	WECHAT_DATABASE_GET_HANDLES         = 32
	WECHAT_DATABASE_QUERY               = 34
	WECHAT_SET_VERSION                  = 35
	WECHAT_MSG_FORWARD_MESSAGE          = 40
	WECHAT_GET_QROCDE_IMAGE             = 41
	WECHAT_LOGOUT                       = 44

	DB_MICRO_MSG      = "MicroMsg.db"
	DB_OPENIM_CONTACT = "OpenIMContact.db"
	DB_MEDIA_MSG      = "MediaMSG0.db"
)

Variables

View Source
var (
	UserAgent = "" /* 130-byte string literal not displayed */
)

Functions

func GetBytes

func GetBytes(url string) ([]byte, error)

func HTTPGetReadCloser

func HTTPGetReadCloser(url string) (io.ReadCloser, error)

func LoadDriver

func LoadDriver() syscall.Handle

func NewGzipReadCloser

func NewGzipReadCloser(reader io.ReadCloser) (io.ReadCloser, error)

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func (*Client) Dispose

func (c *Client) Dispose() error

func (*Client) ForwardMessage

func (c *Client) ForwardMessage(target string, msgid uint64) error

func (*Client) GetContacts

func (c *Client) GetContacts() ([][5]string, error)

func (*Client) GetFriendList

func (c *Client) GetFriendList() ([]*WxUserInfo, error)

func (*Client) GetGroupInfo

func (c *Client) GetGroupInfo(wxid string) (*WxGroupInfo, error)

func (*Client) GetGroupList

func (c *Client) GetGroupList() ([]*WxGroupInfo, error)

func (*Client) GetGroupMemberNickname

func (c *Client) GetGroupMemberNickname(group, wxid string) (string, error)

func (*Client) GetGroupMembers

func (c *Client) GetGroupMembers(wxid string) ([]string, error)

func (*Client) GetOpenIMContacts

func (c *Client) GetOpenIMContacts() ([][5]string, error)

func (*Client) GetSelf

func (c *Client) GetSelf() (*WxUserInfo, error)

func (*Client) GetUserInfo

func (c *Client) GetUserInfo(wxid string) (*WxUserInfo, error)

func (*Client) GetVoice

func (c *Client) GetVoice(msgID uint64) ([]byte, error)

func (*Client) HookMsg

func (c *Client) HookMsg(savePath string) error

func (*Client) IsAlive

func (c *Client) IsAlive() bool

func (*Client) IsLogin

func (c *Client) IsLogin() bool

func (*Client) LoginWtihQRCode

func (c *Client) LoginWtihQRCode() ([]byte, error)

func (*Client) Logout

func (c *Client) Logout() error

func (*Client) SendAtText

func (c *Client) SendAtText(target string, content string, mentions []string) error

func (*Client) SendFile

func (c *Client) SendFile(target string, path string) error

func (*Client) SendImage

func (c *Client) SendImage(target string, path string) error

func (*Client) SendText

func (c *Client) SendText(target string, content string) error

func (*Client) SetVersion

func (c *Client) SetVersion(version string) error

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(config *common.Configure, f func(string, *WechatMessage)) *Manager

func (*Manager) Connect

func (m *Manager) Connect(mxid string, path string) error

func (*Manager) Disconnet

func (m *Manager) Disconnet(mxid string) (err error)

func (*Manager) Dispose

func (m *Manager) Dispose()

func (*Manager) GetClient

func (m *Manager) GetClient(mxid string) *Client

func (*Manager) GetFriendList

func (m *Manager) GetFriendList(mxid string) (any, error)

func (*Manager) GetGroupInfo

func (m *Manager) GetGroupInfo(mxid string, wxid string) (any, error)

func (*Manager) GetGroupList

func (m *Manager) GetGroupList(mxid string) (any, error)

func (*Manager) GetGroupMemberNickname

func (m *Manager) GetGroupMemberNickname(mxid, group, wxid string) (any, error)

func (*Manager) GetGroupMembers

func (m *Manager) GetGroupMembers(mxid string, wxid string) (any, error)

func (*Manager) GetSelf

func (m *Manager) GetSelf(mxid string) (any, error)

func (*Manager) GetUserInfo

func (m *Manager) GetUserInfo(mxid string, wxid string) (any, error)

func (*Manager) IsLogin

func (m *Manager) IsLogin(mxid string) (any, error)

func (*Manager) LoginWtihQRCode

func (m *Manager) LoginWtihQRCode(mxid string) (any, error)

func (*Manager) SendMessage

func (m *Manager) SendMessage(mxid string, event *common.Event) (*common.Event, error)

func (*Manager) Serve

func (m *Manager) Serve()

receive WeChat tcp package

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(config *common.Configure) *Service

func (*Service) Start

func (s *Service) Start()

func (*Service) Stop

func (s *Service) Stop()

type WechatMessage

type WechatMessage struct {
	PID           int    `json:"pid"`
	MsgID         uint64 `json:"msgid"`
	Time          string `json:"time"`
	Timestamp     int64  `json:"timestamp"`
	WxID          string `json:"wxid"`
	Sender        string `json:"sender"`
	Self          string `json:"self"`
	IsSendMsg     int8   `json:"isSendMsg"`
	IsSendByPhone int8   `json:"isSendByPhone"`
	MsgType       int    `json:"type"`
	Message       string `json:"message"`
	FilePath      string `json:"filepath"`
	Thumbnail     string `json:"thumb_path"`
	ExtraInfo     string `json:"extrainfo"`
}

type WxContactResp

type WxContactResp struct {
	Data   [][5]string `json:"data,omitempty"`
	Result string      `json:"result"`
}

type WxGetFriendListResp

type WxGetFriendListResp struct {
	Data   []*WxUserInfo `json:"data"`
	Result string        `json:"result"`
}

type WxGetGroupListResp

type WxGetGroupListResp struct {
	Data   []*WxGroupInfo `json:"data"`
	Result string         `json:"result"`
}

type WxGetGroupMembersResp

type WxGetGroupMembersResp struct {
	Members string `json:"members"`
	Result  string `json:"result"`
}

type WxGetQRCodeResp

type WxGetQRCodeResp struct {
	Message string `json:"msg"`
	Result  string `json:"result"`
}

type WxGetSelfResp

type WxGetSelfResp struct {
	Data   WxUserInfo `json:"data"`
	Result string     `json:"result"`
}

type WxGroupInfo

type WxGroupInfo struct {
	ID        string   `json:"wxId"`
	Name      string   `json:"wxNickName"`
	BigAvatar string   `json:"wxBigAvatar"`
	Notice    string   `json:"notice"`
	Members   []string `json:"members"`
}

type WxIsLoginResp

type WxIsLoginResp struct {
	IsLogin int    `json:"is_login"`
	Result  string `json:"result"`
}

type WxUserInfo

type WxUserInfo struct {
	ID        string `json:"wxId"`
	Nickname  string `json:"wxNickName"`
	BigAvatar string `json:"wxBigAvatar"`
	Remark    string `json:"wxRemark"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL