Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertIP(raw uint32) string
- func ConvertNTHighwayNetWork(ipv4s []*oidb2.IPv4) []*highway.NTHighwayIPv4
- func OnEvent(client *QQClient, msg any)
- func ParseNtloginResponse(response []byte, sig *info.SigInfo) (loginState.State, error)
- func ParsePacket(data []byte) (head *highway.RespDataHighwayHead, body *binary.Reader, err error)
- func SendDataAsync(packet []byte, serverURL string, end bool) ([]byte, error)
- func SendPacketAsync(packet *highway.ReqDataHighwayHead, buffer *binary.Builder, serverURL string, ...) ([]byte, error)
- type EventHandle
- type QQClient
- func (c *QQClient) Connect() error
- func (c *QQClient) DisConnect()
- func (c *QQClient) FecthQrcode() ([]byte, string, error)
- func (c *QQClient) FetchFriends() ([]*entity.Friend, error)
- func (c *QQClient) FetchGroupMember(groupID uint32, token string) ([]*entity.GroupMember, string, error)
- func (c *QQClient) FetchGroups() ([]*entity.Group, error)
- func (c *QQClient) FriendPoke(uin uint32) error
- func (c *QQClient) GetAllGroupsInfo() (map[uint32]*entity.Group, error)
- func (c *QQClient) GetAllGroupsMembersData() (map[uint32]map[uint32]*entity.GroupMember, error)
- func (c *QQClient) GetCachedAllGroupsInfo() (map[uint32]*entity.Group, error)
- func (c *QQClient) GetCachedFriendInfo(uin uint32) (*entity.Friend, error)
- func (c *QQClient) GetCachedGroupInfo(groupUin uint32) (*entity.Group, error)
- func (c *QQClient) GetCachedMemberInfo(uin, groupUin uint32) (*entity.GroupMember, error)
- func (c *QQClient) GetCachedMembersInfo(groupUin uint32) (map[uint32]*entity.GroupMember, error)
- func (c *QQClient) GetFriendsData() (map[uint32]*entity.Friend, error)
- func (c *QQClient) GetGroupMembersData(groupUin uint32) (map[uint32]*entity.GroupMember, error)
- func (c *QQClient) GetQrcodeResult() (qrcodeState.State, error)
- func (c *QQClient) GetServiceServer() ([]byte, map[uint32][]string)
- func (c *QQClient) GetUid(uin uint32, groupUin ...uint32) string
- func (c *QQClient) GetUin(uid string, groupUin ...uint32) uint32
- func (c *QQClient) GroupKickMember(groupID, uin uint32, rejectAddRequest bool) error
- func (c *QQClient) GroupLeave(groupID uint32) error
- func (c *QQClient) GroupMuteGlobal(groupID uint32, isMute bool) error
- func (c *QQClient) GroupMuteMember(groupID, duration, uin uint32) error
- func (c *QQClient) GroupPoke(groupID, uin uint32) error
- func (c *QQClient) GroupRemark(groupID uint32, remark string) error
- func (c *QQClient) GroupRename(groupID uint32, name string) error
- func (c *QQClient) GroupRenameMember(groupID, uin uint32, name string) error
- func (c *QQClient) GroupSetAdmin(groupID, uin uint32, isAdmin bool) error
- func (c *QQClient) GroupSetSpecialTitle(groupUin, uin uint32, title string) error
- func (c *QQClient) ImageUploadGroup(groupUin uint32, element message.IMessageElement) (*message.GroupImageElement, error)
- func (c *QQClient) ImageUploadPrivate(targetUid string, element message.IMessageElement) (*message.FriendImageElement, error)
- func (c *QQClient) KeyExchange()
- func (c *QQClient) Login(password, qrcodePath string) (bool, error)
- func (c *QQClient) Loop() error
- func (c *QQClient) NickName() string
- func (c *QQClient) OnConnected()
- func (c *QQClient) OnDisconnected()
- func (c *QQClient) OnMessage(msgLen int)
- func (c *QQClient) PasswordLogin(password string) (loginState.State, error)
- func (c *QQClient) QrcodeLogin(refreshInterval int) (bool, error)
- func (c *QQClient) ReadLoop()
- func (c *QQClient) RecallGroupMessage(GrpUin, seq uint32) (bool, error)
- func (c *QQClient) RefreshAllGroupMembersCache() error
- func (c *QQClient) RefreshAllGroupsInfo() error
- func (c *QQClient) RefreshFriendCache() error
- func (c *QQClient) RefreshGroupMembersCache(groupUin uint32) error
- func (c *QQClient) Register() (bool, error)
- func (c *QQClient) SSOHeartbeat(calcLatency bool) int64
- func (c *QQClient) Send(data []byte) error
- func (c *QQClient) SendAndWait(data []byte, seq, timeout int) (*wtlogin.SSOPacket, error)
- func (c *QQClient) SendGroupMessage(groupUin uint32, elements []message2.IMessageElement) (resp *action.SendMessageResponse, err error)
- func (c *QQClient) SendOidbPacket(pkt *oidb.OidbPacket) error
- func (c *QQClient) SendOidbPacketAndWait(pkt *oidb.OidbPacket) (*wtlogin.SSOPacket, error)
- func (c *QQClient) SendPrivateMessage(uin uint32, elements []message2.IMessageElement) (resp *action.SendMessageResponse, err error)
- func (c *QQClient) SendRawMessage(route *message.RoutingHead, body *message.MessageBody) (resp *action.SendMessageResponse, err error)
- func (c *QQClient) SendTempMessage(groupID uint32, uin uint32, elements []message2.IMessageElement) (resp *action.SendMessageResponse, err error)
- func (c *QQClient) SendUniPacket(cmd string, buf []byte) error
- func (c *QQClient) SendUniPacketAndAwait(cmd string, buf []byte) (*wtlogin.SSOPacket, error)
- func (c *QQClient) SendUpBlockAsync(block UpBlock, server string) bool
- func (c *QQClient) Stop()
- func (c *QQClient) TokenLogin(token []byte) (loginState.State, error)
- func (c *QQClient) UploadSrcByStreamAsync(commonId int, stream io.ReadSeeker, ticket []byte, md5 []byte, ...) bool
- type ResultStore
- type TCPClient
- type UpBlock
Constants ¶
View Source
const Server = "msfwifi.3g.qq.com:8080"
Variables ¶
View Source
var ErrConnectionClosed = errors.New("connection closed")
Functions ¶
func ConvertNTHighwayNetWork ¶
func ConvertNTHighwayNetWork(ipv4s []*oidb2.IPv4) []*highway.NTHighwayIPv4
func ParseNtloginResponse ¶
func ParsePacket ¶
func SendPacketAsync ¶
Types ¶
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 QQClient ¶
type QQClient struct { Uin uint32 Online atomic.Bool GroupMessageEvent EventHandle[*message.GroupMessage] PrivateMessageEvent EventHandle[*message.PrivateMessage] TempMessageEvent EventHandle[*message.TempMessage] GroupInvitedEvent EventHandle[*event.GroupInvite] // 邀请入群 GroupMemberJoinRequestEvent EventHandle[*event.GroupMemberJoinRequest] // 加群申请 GroupMemberJoinEvent EventHandle[*event.GroupMemberIncrease] // 成员入群 GroupMemberLeaveEvent EventHandle[*event.GroupMemberDecrease] // 成员退群 GroupMuteEvent EventHandle[*event.GroupMute] GroupRecallEvent EventHandle[*event.GroupRecall] FriendRequestEvent EventHandle[*event.FriendRequest] // 好友申请 FriendRecallEvent EventHandle[*event.FriendRecall] RenameEvent EventHandle[*event.Rename] // contains filtered or unexported fields }
func NewQQclient ¶
func NewQQclient(uin uint32, signUrl string, appInfo *info.AppInfo, deviceInfo *info.DeviceInfo, sig *info.SigInfo) *QQClient
NewQQclient 创建一个新的QQClient
func (*QQClient) DisConnect ¶
func (c *QQClient) DisConnect()
func (*QQClient) FetchFriends ¶
FetchFriends 获取好友列表信息
func (*QQClient) FetchGroupMember ¶
func (c *QQClient) FetchGroupMember(groupID uint32, token string) ([]*entity.GroupMember, string, error)
FetchGroupMember 获取对应群的群成员信息,使用token可以获取下一页的群成员信息
func (*QQClient) FetchGroups ¶
FetchGroups 获取所有已加入的群的信息
func (*QQClient) FriendPoke ¶
func (*QQClient) GetAllGroupsInfo ¶
func (*QQClient) GetAllGroupsMembersData ¶
GetAllGroupsMembersData 获取所有群的群成员信息
func (*QQClient) GetCachedAllGroupsInfo ¶
GetCachedAllGroupsInfo 获取所有群信息(缓存)
func (*QQClient) GetCachedFriendInfo ¶
GetCachedFriendInfo 获取好友信息(缓存)
func (*QQClient) GetCachedGroupInfo ¶
GetCachedGroupInfo 获取群信息(缓存)
func (*QQClient) GetCachedMemberInfo ¶
func (c *QQClient) GetCachedMemberInfo(uin, groupUin uint32) (*entity.GroupMember, error)
GetCachedMemberInfo 获取群成员信息(缓存)
func (*QQClient) GetCachedMembersInfo ¶
GetCachedMembersInfo 获取指定群所有群成员信息(缓存)
func (*QQClient) GetFriendsData ¶
GetFriendsData 获取好友列表数据
func (*QQClient) GetGroupMembersData ¶
GetGroupMembersData 获取指定群所有成员信息
func (*QQClient) GetQrcodeResult ¶
func (c *QQClient) GetQrcodeResult() (qrcodeState.State, error)
func (*QQClient) GetServiceServer ¶
func (*QQClient) GroupKickMember ¶
func (*QQClient) GroupLeave ¶
func (*QQClient) GroupMuteGlobal ¶
func (*QQClient) GroupMuteMember ¶
func (*QQClient) GroupRenameMember ¶
func (*QQClient) GroupSetAdmin ¶
func (*QQClient) GroupSetSpecialTitle ¶
func (*QQClient) ImageUploadGroup ¶
func (c *QQClient) ImageUploadGroup(groupUin uint32, element message.IMessageElement) (*message.GroupImageElement, error)
func (*QQClient) ImageUploadPrivate ¶
func (c *QQClient) ImageUploadPrivate(targetUid string, element message.IMessageElement) (*message.FriendImageElement, error)
func (*QQClient) KeyExchange ¶
func (c *QQClient) KeyExchange()
func (*QQClient) OnConnected ¶
func (c *QQClient) OnConnected()
func (*QQClient) OnDisconnected ¶
func (c *QQClient) OnDisconnected()
func (*QQClient) PasswordLogin ¶
func (c *QQClient) PasswordLogin(password string) (loginState.State, error)
func (*QQClient) RecallGroupMessage ¶
func (*QQClient) RefreshAllGroupMembersCache ¶
RefreshAllGroupMembersCache 刷新所有群的群成员缓存
func (*QQClient) RefreshAllGroupsInfo ¶
RefreshAllGroupsInfo 刷新所有群信息缓存
func (*QQClient) RefreshFriendCache ¶
RefreshFriendCache 刷新好友缓存
func (*QQClient) RefreshGroupMembersCache ¶
RefreshGroupMembersCache 刷新指定群的群成员员缓存
func (*QQClient) SSOHeartbeat ¶
func (*QQClient) SendAndWait ¶
func (*QQClient) SendGroupMessage ¶
func (c *QQClient) SendGroupMessage(groupUin uint32, elements []message2.IMessageElement) (resp *action.SendMessageResponse, err error)
func (*QQClient) SendOidbPacket ¶
func (c *QQClient) SendOidbPacket(pkt *oidb.OidbPacket) error
func (*QQClient) SendOidbPacketAndWait ¶
func (*QQClient) SendPrivateMessage ¶
func (c *QQClient) SendPrivateMessage(uin uint32, elements []message2.IMessageElement) (resp *action.SendMessageResponse, err error)
func (*QQClient) SendRawMessage ¶
func (c *QQClient) SendRawMessage(route *message.RoutingHead, body *message.MessageBody) (resp *action.SendMessageResponse, err error)
func (*QQClient) SendTempMessage ¶
func (c *QQClient) SendTempMessage(groupID uint32, uin uint32, elements []message2.IMessageElement) (resp *action.SendMessageResponse, err error)
func (*QQClient) SendUniPacketAndAwait ¶
func (*QQClient) SendUpBlockAsync ¶
func (*QQClient) TokenLogin ¶
func (c *QQClient) TokenLogin(token []byte) (loginState.State, error)
func (*QQClient) UploadSrcByStreamAsync ¶
type ResultStore ¶
type ResultStore struct {
// contains filtered or unexported fields
}
ResultStore 灵感来源于ddl的onebot适配器
func NewResultStore ¶
func NewResultStore() *ResultStore
func (*ResultStore) AddResult ¶
func (s *ResultStore) AddResult(seq int, data *wtlogin.SSOPacket) bool
AddResult 收到消息的时候调用,返回此seq是否存在,如果存在则存储数据
func (*ResultStore) ContainSeq ¶
func (s *ResultStore) ContainSeq(seq int) bool
ContainSeq 判断这个seq是否存在
type TCPClient ¶
type TCPClient struct {
// contains filtered or unexported fields
}
func NewTCPClient ¶
Click to show internal directories.
Click to hide internal directories.