client

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: AGPL-3.0 Imports: 62 Imported by: 10

Documentation

Index

Constants

View Source
const TimeLayout = "2006-01-02 15:04:05"

Variables

View Source
var (
	ErrAlreadyOnline  = errors.New("already online")
	ErrMemberNotFound = errors.New("member not found")
	ErrNotExists      = errors.New("not exists")
)

Functions

func GTK

func GTK(s string) int

Types

type ConnectionQualityInfo

type ConnectionQualityInfo struct {
	// ChatServerLatency 聊天服务器延迟
	ChatServerLatency int64
	// ChatServerPacketLoss 聊天服务器ICMP丢包数
	ChatServerPacketLoss int
	// LongMessageServerLatency 长消息服务器延迟. 涉及长消息以及合并转发消息下载
	LongMessageServerLatency int64
	// LongMessageServerResponseLatency 长消息服务器返回延迟
	LongMessageServerResponseLatency int64
	// SrvServerLatency Highway服务器延迟. 涉及媒体以及群文件上传
	SrvServerLatency int64
	// SrvServerPacketLoss Highway服务器ICMP丢包数.
	SrvServerPacketLoss int
}

ConnectionQualityInfo 客户端连接质量测试结果 延迟单位为 ms 如为 9999 则测试失败 测试方法为 TCP 连接测试 丢包测试方法为 ICMP. 总共发送 10 个包, 记录丢包数

type Cookies

type Cookies struct {
	SKey  string
	PsKey string
	// contains filtered or unexported fields
}

type DisconnectedEvent added in v0.1.1

type DisconnectedEvent struct {
	Message string
}

type EventHandle

type EventHandle[T any] struct {
	// contains filtered or unexported fields
}

func (*EventHandle[T]) Subscribe

func (handle *EventHandle[T]) Subscribe(handler func(client *QQClient, event T))

type GroupAlbum

type GroupAlbum struct {
	GroupUin       uint32
	Name           string
	ID             string
	Description    string
	CoverURL       string
	CreateNickname string
	CreateUin      uint32
	CreateTime     int64
}

type GroupAlbumElem

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

type GroupAlbumElemUserInfo

type GroupAlbumElemUserInfo struct {
	UserNickName string
	UserUin      string
}

type GroupAlbumUploadParam

type GroupAlbumUploadParam struct {
	ResourceType
	GroupUin                     uint32
	FileName, AlbumID, AlbumName string
	ImageFile
	VideoFile
}

type GroupPhoto

type GroupPhoto struct {
	ID  string
	URL string
}

type GroupVideo

type GroupVideo struct {
	ID  string
	URL string
}

type ImageFile

type ImageFile struct {
	Image io.ReadSeeker
}

type LoginError added in v0.1.2

type LoginError int
const (
	NeedCaptcha            LoginError = 1
	OtherLoginError        LoginError = 3
	UnsafeDeviceError      LoginError = 4
	SMSNeededError         LoginError = 5
	TooManySMSRequestError LoginError = 6
	SMSOrVerifyNeededError LoginError = 7
	SliderNeededError      LoginError = 8
	UnknownLoginError      LoginError = -1
)

func (LoginError) String added in v0.1.2

func (i LoginError) String() string

type LoginResponse added in v0.1.2

type LoginResponse struct {
	Success bool
	Code    byte
	Error   LoginError

	// Captcha info
	CaptchaImage []byte
	CaptchaSign  []byte

	// Unsafe device
	VerifyURL string

	// SMS needed
	SMSPhone string

	// other error
	ErrorMessage string
}

type NTNewDeviceQrCodeQuery added in v0.1.2

type NTNewDeviceQrCodeQuery struct {
	Uint32Flag uint64 `json:"uint32_flag"`
	Token      string `json:"bytes_token"`
}

type NTNewDeviceQrCodeRequest added in v0.1.2

type NTNewDeviceQrCodeRequest struct {
	StrDevAuthToken string `json:"str_dev_auth_token"`
	Uint32Flag      int    `json:"uint32_flag"`
	Uint32UrlType   int    `json:"uint32_url_type"`
	StrUinToken     string `json:"str_uin_token"`
	StrDevType      string `json:"str_dev_type"`
	StrDevName      string `json:"str_dev_name"`
}

type NTNewDeviceQrCodeResponse added in v0.1.2

type NTNewDeviceQrCodeResponse struct {
	Uint32GuaranteeStatus int    `json:"uint32_guarantee_status"`
	StrURL                string `json:"str_url"`
	ActionStatus          string `json:"ActionStatus"`
	StrNtSuccToken        string `json:"str_nt_succ_token"`
	ErrorCode             int    `json:"ErrorCode"`
	ErrorInfo             string `json:"ErrorInfo"`
}

type QQClient

type QQClient struct {
	Uin uint32

	Online atomic.Bool

	PasswordMD5 [16]byte

	UA string

	TCP         network.TCPClient // todo: combine other protocol state into one struct
	ConnectTime time.Time

	// event handles
	GroupMessageEvent   EventHandle[*message.GroupMessage]
	PrivateMessageEvent EventHandle[*message.PrivateMessage]
	TempMessageEvent    EventHandle[*message.TempMessage]

	SelfGroupMessageEvent   EventHandle[*message.GroupMessage]
	SelfPrivateMessageEvent EventHandle[*message.PrivateMessage]
	SelfTempMessageEvent    EventHandle[*message.TempMessage]

	GroupJoinEvent  EventHandle[*event.GroupMemberIncrease] // bot进群
	GroupLeaveEvent EventHandle[*event.GroupMemberDecrease] // bot 退群

	GroupInvitedEvent                 EventHandle[*event.GroupInvite]            // 被邀请入群
	GroupMemberJoinRequestEvent       EventHandle[*event.GroupMemberJoinRequest] // 加群申请
	GroupMemberJoinEvent              EventHandle[*event.GroupMemberIncrease]    // 成员入群
	GroupMemberLeaveEvent             EventHandle[*event.GroupMemberDecrease]    // 成员退群
	GroupMuteEvent                    EventHandle[*event.GroupMute]
	GroupDigestEvent                  EventHandle[*event.GroupDigestEvent] // 精华消息
	GroupRecallEvent                  EventHandle[*event.GroupRecall]
	GroupMemberPermissionChangedEvent EventHandle[*event.GroupMemberPermissionChanged]
	GroupNameUpdatedEvent             EventHandle[*event.GroupNameUpdated]
	GroupReactionEvent                EventHandle[*event.GroupReactionEvent]
	MemberSpecialTitleUpdatedEvent    EventHandle[*event.MemberSpecialTitleUpdated]
	NewFriendRequestEvent             EventHandle[*event.NewFriendRequest] // 好友申请
	FriendRecallEvent                 EventHandle[*event.FriendRecall]
	RenameEvent                       EventHandle[*event.Rename]
	FriendNotifyEvent                 EventHandle[event.INotifyEvent]
	GroupNotifyEvent                  EventHandle[event.INotifyEvent]

	DisconnectedEvent EventHandle[*DisconnectedEvent]
	// contains filtered or unexported fields
}

func NewClient

func NewClient(uin uint32, password string) *QQClient

NewClient 创建一个新的 QQ Client

func NewClientEmpty added in v0.1.2

func NewClientEmpty() *QQClient

func NewClientMD5 added in v0.1.2

func NewClientMD5(uin uint32, passwordMD5 [16]byte) *QQClient

func (*QQClient) AddGroupNoticeSimple

func (c *QQClient) AddGroupNoticeSimple(groupUin uint32, text string) (noticeID string, err error)

AddGroupNoticeSimple 发群公告

func (*QQClient) AddGroupNoticeWithPic

func (c *QQClient) AddGroupNoticeWithPic(groupUin uint32, text string, pic []byte) (noticeID string, err error)

AddGroupNoticeWithPic 发群公告带图片

func (*QQClient) AddSignHeader added in v0.1.2

func (c *QQClient) AddSignHeader(header map[string]string)

AddSignHeader 设置签名服务器签名时的额外http header

func (*QQClient) AddSignServer added in v0.1.2

func (c *QQClient) AddSignServer(signServers ...string)

AddSignServer 设置签名服务器url

func (*QQClient) BuildFakeMessage

func (c *QQClient) BuildFakeMessage(msgElems []*message2.ForwardNode) []*message.PushMsgBody

BuildFakeMessage make a fake message

func (*QQClient) CheckURLSafely added in v0.1.2

func (c *QQClient) CheckURLSafely(url string) (oidb2.URLSecurityLevel, error)

CheckURLSafely 通过TX服务器检查URL安全性 ref https://github.com/Mrs4s/MiraiGo/blob/54bdd873e3fed9fe1c944918924674dacec5ac76/client/security.go#L24

func (*QQClient) CreateGroupFolder

func (c *QQClient) CreateGroupFolder(groupUin uint32, targetDirectory string, folderName string) error

CreateGroupFolder 创建群文件夹

func (*QQClient) DelGroupNotice

func (c *QQClient) DelGroupNotice(groupUin uint32, fid string) error

DelGroupNotice 删除群公告

func (*QQClient) DeleteFriend added in v0.1.2

func (c *QQClient) DeleteFriend(uin uint32, block bool) error

DeleteFriend 删除好友

func (*QQClient) DeleteGroupFile

func (c *QQClient) DeleteGroupFile(groupUin uint32, fileID string) error

DeleteGroupFile 删除群文件

func (*QQClient) DeleteGroupFolder

func (c *QQClient) DeleteGroupFolder(groupUin uint32, folderID string) error

DeleteGroupFolder 删除群文件夹

func (*QQClient) DeleteUnidirectionalFriend added in v0.1.2

func (c *QQClient) DeleteUnidirectionalFriend(uin uint32) error

DeleteUnidirectionalFriend 删除单向好友 ref https://github.com/Mrs4s/MiraiGo/blob/54bdd873e3fed9fe1c944918924674dacec5ac76/client/web.go#L62

func (*QQClient) Device

func (c *QQClient) Device() *auth.DeviceInfo

func (*QQClient) Disconnect

func (c *QQClient) Disconnect()

Disconnect 中断连接, 不释放资源

func (*QQClient) FastLogin

func (c *QQClient) FastLogin() error

func (*QQClient) FetchClientKey

func (c *QQClient) FetchClientKey() (string, error)

FetchClientKey 获取ClientKey

func (*QQClient) FetchCookies

func (c *QQClient) FetchCookies(domains []string) ([]string, error)

FetchCookies 获取cookies

func (*QQClient) FetchEssenceMessage

func (c *QQClient) FetchEssenceMessage(groupUin uint32) ([]*message2.GroupEssenceMessage, error)

FetchEssenceMessage 获取精华消息

func (*QQClient) FetchForwardMsg

func (c *QQClient) FetchForwardMsg(resID string) (msg *message2.ForwardMessage, err error)

FetchForwardMsg 获取合并转发消息

func (*QQClient) FetchFriends

func (c *QQClient) FetchFriends(token uint32) ([]*entity.User, uint32, error)

FetchFriends 获取好友列表信息,使用token可以获取下一页的群成员信息

func (*QQClient) FetchGroupInfo added in v0.1.1

func (c *QQClient) FetchGroupInfo(groupUin uint32, isStrange bool) (*entity.Group, error)

FetchGroupInfo 获取群信息 isStrange是否陌生群聊

func (*QQClient) FetchGroupMember

func (c *QQClient) FetchGroupMember(groupUin, memberUin uint32) (*entity.GroupMember, error)

FetchGroupMember 获取对应群的群成员信息

func (*QQClient) FetchGroupMembers

func (c *QQClient) FetchGroupMembers(groupUin uint32, token string) ([]*entity.GroupMember, string, error)

FetchGroupMembers 获取对应群的所有群成员信息,使用token可以获取下一页的群成员信息

func (*QQClient) FetchGroups

func (c *QQClient) FetchGroups() ([]*entity.Group, error)

FetchGroups 获取所有已加入的群的信息

func (*QQClient) FetchQRCode

func (c *QQClient) FetchQRCode(size, margin, ecLevel uint32) ([]byte, string, error)

func (*QQClient) FetchQRCodeDefault

func (c *QQClient) FetchQRCodeDefault() ([]byte, string, error)

func (*QQClient) FetchRkey

func (c *QQClient) FetchRkey() (entity.RKeyMap, error)

FetchRkey 获取Rkey

func (*QQClient) FetchUserInfo

func (c *QQClient) FetchUserInfo(uid string) (*entity.User, error)

FetchUserInfo 获取用户信息

func (*QQClient) FetchUserInfoUin

func (c *QQClient) FetchUserInfoUin(uin uint32) (*entity.User, error)

FetchUserInfoUin 通过uin获取用户信息

func (*QQClient) FriendPoke

func (c *QQClient) FriendPoke(uin uint32) error

FriendPoke 戳一戳好友

func (*QQClient) GetAllGroupsInfo

func (c *QQClient) GetAllGroupsInfo() (map[uint32]*entity.Group, error)

func (*QQClient) GetAllGroupsMembersData

func (c *QQClient) GetAllGroupsMembersData() (map[uint32]map[uint32]*entity.GroupMember, error)

GetAllGroupsMembersData 获取所有群的群成员信息

func (*QQClient) GetAtAllRemain added in v0.1.2

func (c *QQClient) GetAtAllRemain(uin, groupUin uint32) (*oidb2.AtAllRemainInfo, error)

GetAtAllRemain 获取剩余@全员次数 ref https://github.com/Mrs4s/MiraiGo/blob/54bdd873e3fed9fe1c944918924674dacec5ac76/client/group_msg.go#L68

func (*QQClient) GetCachedAllFriendsInfo

func (c *QQClient) GetCachedAllFriendsInfo() map[uint32]*entity.User

GetCachedAllFriendsInfo 获取所有好友信息(缓存)

func (*QQClient) GetCachedAllGroupsInfo

func (c *QQClient) GetCachedAllGroupsInfo() map[uint32]*entity.Group

GetCachedAllGroupsInfo 获取所有群信息(缓存)

func (*QQClient) GetCachedFriendInfo

func (c *QQClient) GetCachedFriendInfo(uin uint32) *entity.User

GetCachedFriendInfo 获取好友信息(缓存)

func (*QQClient) GetCachedGroupInfo

func (c *QQClient) GetCachedGroupInfo(groupUin uint32) *entity.Group

GetCachedGroupInfo 获取群信息(缓存)

func (*QQClient) GetCachedMemberInfo

func (c *QQClient) GetCachedMemberInfo(uin, groupUin uint32) *entity.GroupMember

GetCachedMemberInfo 获取群成员信息(缓存)

func (*QQClient) GetCachedMembersInfo

func (c *QQClient) GetCachedMembersInfo(groupUin uint32) map[uint32]*entity.GroupMember

GetCachedMembersInfo 获取指定群所有群成员信息(缓存)

func (*QQClient) GetCachedRkeyInfo

func (c *QQClient) GetCachedRkeyInfo(rkeyType entity.RKeyType) *entity.RKeyInfo

GetCachedRkeyInfo 获取指定类型的RKey信息(缓存)

func (*QQClient) GetCachedRkeyInfos

func (c *QQClient) GetCachedRkeyInfos() map[entity.RKeyType]*entity.RKeyInfo

GetCachedRkeyInfos 获取所有RKey信息(缓存)

func (*QQClient) GetCookies

func (c *QQClient) GetCookies(domain string) (*Cookies, error)

func (*QQClient) GetCsrfToken

func (c *QQClient) GetCsrfToken() (int, error)

func (*QQClient) GetFriendsData

func (c *QQClient) GetFriendsData() (map[uint32]*entity.User, error)

GetFriendsData 获取好友列表数据

func (*QQClient) GetGroupAlbum

func (c *QQClient) GetGroupAlbum(groupUin uint32) ([]*GroupAlbum, error)

func (*QQClient) GetGroupAlbumElem

func (c *QQClient) GetGroupAlbumElem(ab *GroupAlbum) ([]*GroupAlbumElem, error)

func (*QQClient) GetGroupFileSystemInfo

func (c *QQClient) GetGroupFileSystemInfo(groupUin uint32) (*entity.GroupFileSystemInfo, error)

GetGroupFileSystemInfo 获取群文件系统信息

func (*QQClient) GetGroupFileURL added in v0.1.1

func (c *QQClient) GetGroupFileURL(groupUin uint32, fileID string) (string, error)

GetGroupFileURL 获取群文件下载链接

func (*QQClient) GetGroupHonorInfo

func (c *QQClient) GetGroupHonorInfo(groupUin uint32, honorType entity.HonorType) (*entity.GroupHonorInfo, error)

GetGroupHonorInfo 获取群荣誉信息 reference https://github.com/Mrs4s/MiraiGo/blob/master/client/http_api.go

func (*QQClient) GetGroupImageURL added in v0.1.1

func (c *QQClient) GetGroupImageURL(groupUin uint32, node *oidb.IndexNode) (string, error)

GetGroupImageURL 获取群聊图片下载url

func (*QQClient) GetGroupMembersData

func (c *QQClient) GetGroupMembersData(groupUin uint32) (map[uint32]*entity.GroupMember, error)

GetGroupMembersData 获取指定群所有成员信息

func (*QQClient) GetGroupMessages added in v0.1.1

func (c *QQClient) GetGroupMessages(groupUin, startSeq, endSeq uint32) ([]*message2.GroupMessage, error)

GetGroupMessages 获取群聊历史消息

func (*QQClient) GetGroupNotice

func (c *QQClient) GetGroupNotice(groupUin uint32) (l []*entity.GroupNoticeFeed, err error)

GetGroupNotice 获取群公告

func (*QQClient) GetGroupRecordURL added in v0.1.1

func (c *QQClient) GetGroupRecordURL(groupUin uint32, node *oidb.IndexNode) (string, error)

GetGroupRecordURL 获取群聊语音下载url

func (*QQClient) GetGroupSystemMessages

func (c *QQClient) GetGroupSystemMessages(isFiltered bool, count uint32, groupUin ...uint32) (*entity.GroupSystemMessages, error)

GetGroupSystemMessages 获取加群请求信息

func (*QQClient) GetNewDeviceVerifyURL added in v0.1.2

func (c *QQClient) GetNewDeviceVerifyURL() (string, error)

func (*QQClient) GetPrivateFileURL added in v0.1.1

func (c *QQClient) GetPrivateFileURL(fileUUID string, fileHash string) (string, error)

GetPrivateFileURL 获取私聊文件下载链接

func (*QQClient) GetPrivateImageURL added in v0.1.1

func (c *QQClient) GetPrivateImageURL(node *oidb.IndexNode) (string, error)

GetPrivateImageURL 获取私聊图片下载url

func (*QQClient) GetPrivateMessages added in v0.1.2

func (c *QQClient) GetPrivateMessages(uin, timestamp, count uint32) ([]*message2.PrivateMessage, error)

func (*QQClient) GetPrivateRecordURL added in v0.1.1

func (c *QQClient) GetPrivateRecordURL(node *oidb.IndexNode) (string, error)

GetPrivateRecordURL 获取私聊语音下载url

func (*QQClient) GetQRCodeResult

func (c *QQClient) GetQRCodeResult() (qrcodestate.State, error)

func (*QQClient) GetSkey

func (c *QQClient) GetSkey() (string, error)

func (*QQClient) GetStatistics

func (c *QQClient) GetStatistics() *Statistics

func (*QQClient) GetUID added in v0.1.1

func (c *QQClient) GetUID(uin uint32, groupUin ...uint32) string

GetUID 获取缓存中对应uin的uid

func (*QQClient) GetUin

func (c *QQClient) GetUin(uid string, groupUin ...uint32) uint32

GetUin 获取缓存中对应的uin

func (*QQClient) GetUnidirectionalFriendList added in v0.1.2

func (c *QQClient) GetUnidirectionalFriendList() ([]*entity.User, error)

GetUnidirectionalFriendList 获取单向好友列表 ref https://github.com/Mrs4s/MiraiGo/blob/54bdd873e3fed9fe1c944918924674dacec5ac76/client/web.go#L23

func (*QQClient) GetVideoURL added in v0.1.1

func (c *QQClient) GetVideoURL(isGroup bool, uuid string) (string, error)

GetVideoURL 获取视频下载链接

func (*QQClient) GroupPoke

func (c *QQClient) GroupPoke(groupUin, uin uint32) error

GroupPoke 戳一戳群友

func (*QQClient) ImageOcr added in v0.1.2

func (c *QQClient) ImageOcr(url string) (*oidb2.OcrResponse, error)

ImageOcr 图片识别 有些域名的图可能无法识别,需要重新上传到tx服务器并获取图片下载链接

func (*QQClient) KickGroupMember added in v0.1.2

func (c *QQClient) KickGroupMember(groupUin, uin uint32, rejectAddRequest bool) error

KickGroupMember 踢出群成员,可选是否拒绝加群请求

func (*QQClient) ListGroupFilesByFolder

func (c *QQClient) ListGroupFilesByFolder(groupUin uint32, targetDirectory string) ([]*entity.GroupFile, []*entity.GroupFolder, error)

ListGroupFilesByFolder 获取群目录指定文件夹列表

func (*QQClient) ListGroupRootFiles

func (c *QQClient) ListGroupRootFiles(groupUin uint32) ([]*entity.GroupFile, []*entity.GroupFolder, error)

ListGroupRootFiles 获取群根目录文件列表

func (*QQClient) MarkGroupMessageReaded added in v0.1.2

func (c *QQClient) MarkGroupMessageReaded(groupUin, startSeq uint32) error

MarkGroupMessageReaded 标记群消息已读

func (*QQClient) MarkPrivateMessageReaded added in v0.1.2

func (c *QQClient) MarkPrivateMessageReaded(uin, timestamp, startSeq uint32) error

MarkPrivateMessageReaded 标记私聊消息已读

func (*QQClient) MoveGroupFile

func (c *QQClient) MoveGroupFile(groupUin uint32, fileID string, parentFolder string, targetFolderID string) error

MoveGroupFile 移动群文件

func (*QQClient) NewDeviceVerify added in v0.1.2

func (c *QQClient) NewDeviceVerify(verifyURL string) error

func (*QQClient) NickName

func (c *QQClient) NickName() string

func (*QQClient) PasswordLogin

func (c *QQClient) PasswordLogin() (*LoginResponse, error)

func (*QQClient) PreprocessGroupMessageEvent

func (c *QQClient) PreprocessGroupMessageEvent(msg *msgConverter.GroupMessage)

func (*QQClient) PreprocessPrivateMessageEvent

func (c *QQClient) PreprocessPrivateMessageEvent(msg *msgConverter.PrivateMessage)

func (*QQClient) QRCodeLogin

func (c *QQClient) QRCodeLogin() (*LoginResponse, error)

func (*QQClient) QueryFriendImage

func (c *QQClient) QueryFriendImage(md5 []byte, fileUUID string) (*message2.ImageElement, error)

QueryFriendImage 获取私聊图片

func (*QQClient) QueryGroupImage

func (c *QQClient) QueryGroupImage(md5 []byte, fileUUID string) (*message2.ImageElement, error)

QueryGroupImage 获取群图片

func (*QQClient) RecallFriendMessage

func (c *QQClient) RecallFriendMessage(uin, seq, random, clientSeq, timestamp uint32) error

RecallFriendMessage 撤回私聊消息

func (*QQClient) RecallGroupMessage

func (c *QQClient) RecallGroupMessage(groupUin, seq uint32) error

RecallGroupMessage 撤回群聊消息

func (*QQClient) RefreshAllGroupMembersCache

func (c *QQClient) RefreshAllGroupMembersCache() error

RefreshAllGroupMembersCache 刷新所有群的群成员缓存

func (*QQClient) RefreshAllGroupsInfo

func (c *QQClient) RefreshAllGroupsInfo() error

RefreshAllGroupsInfo 刷新所有群信息缓存

func (*QQClient) RefreshAllRkeyInfoCache

func (c *QQClient) RefreshAllRkeyInfoCache() error

RefreshAllRkeyInfoCache 刷新RKey缓存

func (*QQClient) RefreshFriendCache

func (c *QQClient) RefreshFriendCache() error

RefreshFriendCache 刷新好友缓存

func (*QQClient) RefreshGroupMemberCache

func (c *QQClient) RefreshGroupMemberCache(groupUin, memberUin uint32) error

RefreshGroupMemberCache 刷新一个群的指定群成员缓存

func (*QQClient) RefreshGroupMembersCache

func (c *QQClient) RefreshGroupMembersCache(groupUin uint32) error

RefreshGroupMembersCache 刷新指定群的所有群成员缓存

func (*QQClient) Release

func (c *QQClient) Release()

func (*QQClient) RenameGroupFile

func (c *QQClient) RenameGroupFile(groupUin uint32, fileID string, parentFolder string, newFileName string) error

RenameGroupFile 重命名群文件

func (*QQClient) RenameGroupFolder

func (c *QQClient) RenameGroupFolder(groupUin uint32, folderID string, newFolderName string) error

RenameGroupFolder 重命名群文件夹

func (*QQClient) ResolveUin added in v0.1.2

func (c *QQClient) ResolveUin(g eventConverter.Iuid2uin) error

func (*QQClient) SendFriendLike added in v0.1.1

func (c *QQClient) SendFriendLike(uin uint32, count uint32) error

SendFriendLike 给好友点赞

func (*QQClient) SendGroupFile added in v0.1.2

func (c *QQClient) SendGroupFile(groupUin uint32, localFilePath, filename, targetDirectory string) error

SendGroupFile 发送群文件

func (*QQClient) SendGroupMessage

func (c *QQClient) SendGroupMessage(groupUin uint32, elements []message2.IMessageElement, needPreprocess ...bool) (*message2.GroupMessage, error)

SendGroupMessage 发送群聊消息,默认会对消息进行预处理

func (*QQClient) SendGroupSign added in v0.1.2

func (c *QQClient) SendGroupSign(groupUin uint32) (*oidb2.BotGroupClockInResult, error)

SendGroupSign 发送群聊打卡消息

func (*QQClient) SendPrivateFile added in v0.1.2

func (c *QQClient) SendPrivateFile(targetUin uint32, localFilePath, filename string) error

SendPrivateFile 发送私聊文件

func (*QQClient) SendPrivateMessage

func (c *QQClient) SendPrivateMessage(uin uint32, elements []message2.IMessageElement, needPreprocess ...bool) (*message2.PrivateMessage, error)

SendPrivateMessage 发送私聊消息,默认会对消息进行预处理

func (*QQClient) SendRawMessage

func (c *QQClient) SendRawMessage(route *message.RoutingHead, body *message.MessageBody, random uint32) (*action.SendMessageResponse, uint32, error)

func (*QQClient) SendRequestWithCookie

func (c *QQClient) SendRequestWithCookie(request *http.Request) (*http.Response, error)

func (*QQClient) SendSsoPacket

func (c *QQClient) SendSsoPacket(cmd string, body []byte) ([]byte, error)

SendSsoPacket 发送签名回调包给服务器并获取返回结果供提交

func (*QQClient) SendTempMessage

func (c *QQClient) SendTempMessage(groupUin uint32, uin uint32, elements []message2.IMessageElement) (*message2.TempMessage, error)

func (*QQClient) SetAvatar

func (c *QQClient) SetAvatar(avatar io.ReadSeeker) error

SetAvatar 设置头像

func (*QQClient) SetCustomServer added in v0.1.2

func (c *QQClient) SetCustomServer(servers []netip.AddrPort)

func (*QQClient) SetEssenceMessage

func (c *QQClient) SetEssenceMessage(groupUin, seq, random uint32, isSet bool) error

SetEssenceMessage 设置群聊精华消息

func (*QQClient) SetFriendRequest

func (c *QQClient) SetFriendRequest(accept bool, targetUID string) error

SetFriendRequest 处理好友请求

func (*QQClient) SetGroupAdmin added in v0.1.2

func (c *QQClient) SetGroupAdmin(groupUin, uin uint32, isAdmin bool) error

SetGroupAdmin 设置群管理员

func (*QQClient) SetGroupAvatar

func (c *QQClient) SetGroupAvatar(groupUin uint32, avatar io.ReadSeeker) error

SetGroupAvatar 设置群头像

func (*QQClient) SetGroupGlobalMute added in v0.1.2

func (c *QQClient) SetGroupGlobalMute(groupUin uint32, isMute bool) error

SetGroupGlobalMute 群全员禁言

func (*QQClient) SetGroupLeave added in v0.1.2

func (c *QQClient) SetGroupLeave(groupUin uint32) error

SetGroupLeave 退出群聊

func (*QQClient) SetGroupMemberMute added in v0.1.2

func (c *QQClient) SetGroupMemberMute(groupUin, uin, duration uint32) error

SetGroupMemberMute 禁言群成员

func (*QQClient) SetGroupMemberName added in v0.1.2

func (c *QQClient) SetGroupMemberName(groupUin, uin uint32, name string) error

SetGroupMemberName 设置群成员昵称

func (*QQClient) SetGroupMemberSpecialTitle added in v0.1.2

func (c *QQClient) SetGroupMemberSpecialTitle(groupUin, uin uint32, title string) error

SetGroupMemberSpecialTitle 设置群成员专属头衔

func (*QQClient) SetGroupName added in v0.1.2

func (c *QQClient) SetGroupName(groupUin uint32, name string) error

SetGroupName 设置群聊名称

func (*QQClient) SetGroupReaction added in v0.1.2

func (c *QQClient) SetGroupReaction(groupUin, sequence uint32, code string, isAdd bool) error

SetGroupReaction 设置群消息表态

func (*QQClient) SetGroupRemark added in v0.1.2

func (c *QQClient) SetGroupRemark(groupUin uint32, remark string) error

SetGroupRemark 设置群聊备注

func (*QQClient) SetGroupRequest

func (c *QQClient) SetGroupRequest(isFiltered bool, accept bool, sequence uint64, typ uint32, groupUin uint32, message string) error

SetGroupRequest 处理加群请求

func (*QQClient) SetLogger

func (c *QQClient) SetLogger(logger log.Logger)

func (*QQClient) SetOnlineStatus

func (c *QQClient) SetOnlineStatus(status, ext, battery uint32) error

SetOnlineStatus 设置在线状态

func (*QQClient) Sig

func (c *QQClient) Sig() *auth.SigInfo

func (*QQClient) SubmitCaptcha added in v0.1.2

func (c *QQClient) SubmitCaptcha(ticket, randStr, aid string) (*LoginResponse, error)

func (*QQClient) SubscribeEventHandler

func (c *QQClient) SubscribeEventHandler(handler any)

func (*QQClient) TokenLogin

func (c *QQClient) TokenLogin() (*LoginResponse, error)

func (*QQClient) UploadForwardMsg

func (c *QQClient) UploadForwardMsg(forward *message2.ForwardMessage, groupUin uint32) (*message2.ForwardMessage, error)

UploadForwardMsg 上传合并转发消息 groupUin should be the group number where the uploader is located or 0 (c2c)

func (*QQClient) UploadGroupAlbumPhoto

func (c *QQClient) UploadGroupAlbumPhoto(parms *GroupAlbumUploadParam) (*GroupPhoto, error)

func (*QQClient) UploadGroupAlbumVideo

func (c *QQClient) UploadGroupAlbumVideo(parms *GroupAlbumUploadParam) (*GroupVideo, error)

func (*QQClient) UploadGroupFile

func (c *QQClient) UploadGroupFile(groupUin uint32, file *message.FileElement, targetDirectory string) (*message.FileElement, error)

func (*QQClient) UploadGroupImage added in v0.1.2

func (c *QQClient) UploadGroupImage(groupUin uint32, image *message.ImageElement) (*message.ImageElement, error)

func (*QQClient) UploadGroupRecord added in v0.1.2

func (c *QQClient) UploadGroupRecord(groupUin uint32, record *message.VoiceElement) (*message.VoiceElement, error)

func (*QQClient) UploadGroupVideo added in v0.1.2

func (c *QQClient) UploadGroupVideo(groupUin uint32, video *message.ShortVideoElement) (*message.ShortVideoElement, error)

func (*QQClient) UploadImage

func (c *QQClient) UploadImage(target message.Source, image *message.ImageElement) (*message.ImageElement, error)

func (*QQClient) UploadPrivateFile

func (c *QQClient) UploadPrivateFile(targetUID string, file *message.FileElement) (*message.FileElement, error)

func (*QQClient) UploadPrivateImage added in v0.1.2

func (c *QQClient) UploadPrivateImage(targetUID string, image *message.ImageElement) (*message.ImageElement, error)

func (*QQClient) UploadPrivateRecord added in v0.1.2

func (c *QQClient) UploadPrivateRecord(targetUID string, record *message.VoiceElement) (*message.VoiceElement, error)

func (*QQClient) UploadPrivateVideo added in v0.1.2

func (c *QQClient) UploadPrivateVideo(targetUID string, video *message.ShortVideoElement) (*message.ShortVideoElement, error)

func (*QQClient) UploadRecord

func (c *QQClient) UploadRecord(target message.Source, voice *message.VoiceElement) (*message.VoiceElement, error)

func (*QQClient) UploadShortVideo

func (c *QQClient) UploadShortVideo(target message.Source, video *message.ShortVideoElement) (*message.ShortVideoElement, error)

func (*QQClient) UseDevice

func (c *QQClient) UseDevice(d *auth.DeviceInfo)

func (*QQClient) UseSig

func (c *QQClient) UseSig(s auth.SigInfo)

func (*QQClient) UseVersion added in v0.1.2

func (c *QQClient) UseVersion(app *auth.AppInfo)

type ResourceType

type ResourceType int
const (
	ResourceTypeUnknown ResourceType = iota
	ResourceTypePhoto
	ResourceTypeVideoThumbPhoto
	ResourceTypeVideo
)

type Statistics

type Statistics struct {
	PacketReceived  atomic.Uint64
	PacketSent      atomic.Uint64
	PacketLost      atomic.Uint64
	MessageReceived atomic.Uint64
	MessageSent     atomic.Uint64
	LastMessageTime atomic.Int64
	DisconnectTimes atomic.Uint32
	LostTimes       atomic.Uint32
}

func (*Statistics) MarshalJSON

func (m *Statistics) MarshalJSON() ([]byte, error)

MarshalJSON encodes the wrapped statistics into JSON.

type TicketService

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

type VideoFile

type VideoFile struct {
	Thumbnail io.ReadSeeker
	Video     io.ReadSeeker
}

Jump to

Keyboard shortcuts

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