Documentation ¶
Index ¶
- Constants
- Variables
- func GenIMEI() string
- func GenRandomDevice()
- func NewUinFilterPrivate(uin int64) func(*message.PrivateMessage) bool
- func XmlEscape(c string) string
- type AtAllRemainInfo
- type ClientDisconnectedEvent
- type ClientProtocol
- type Coordinate
- type CurrentTalkative
- type DeviceInfo
- type DeviceInfoFile
- type FriendInfo
- type FriendListResponse
- type FriendMessageRecalledEvent
- type FriendPokeNotifyEvent
- type GroupDigest
- type GroupDigestEvent
- type GroupFile
- type GroupFileSystem
- func (fs *GroupFileSystem) DeleteFile(parentFolderId, fileId string, busId int32) string
- func (fs *GroupFileSystem) GetDownloadUrl(file *GroupFile) string
- func (fs *GroupFileSystem) GetFilesByFolder(folderId string) ([]*GroupFile, []*GroupFolder, error)
- func (fs *GroupFileSystem) Root() ([]*GroupFile, []*GroupFolder, error)
- func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error
- type GroupFolder
- type GroupHonorInfo
- type GroupInfo
- func (g *GroupInfo) AdministratorOrOwner() bool
- func (g *GroupInfo) FindMember(uin int64) *GroupMemberInfo
- func (g *GroupInfo) FindMemberWithoutLock(uin int64) *GroupMemberInfo
- func (g *GroupInfo) MuteAll(mute bool)
- func (g *GroupInfo) MuteAnonymous(id, nick string, seconds int32) error
- func (g *GroupInfo) Quit()
- func (g *GroupInfo) Read(f func(*GroupInfo) interface{}) interface{}
- func (g *GroupInfo) SelfPermission() MemberPermission
- func (g *GroupInfo) Update(f func(*GroupInfo))
- func (g *GroupInfo) UpdateGroupHeadPortrait(img []byte)
- func (g *GroupInfo) UpdateMemo(newMemo string)
- func (g *GroupInfo) UpdateName(newName string)
- type GroupInvitedRequest
- type GroupLeaveEvent
- type GroupMemberInfo
- func (m *GroupMemberInfo) CardChangable() bool
- func (m *GroupMemberInfo) DisplayName() string
- func (m *GroupMemberInfo) EditCard(card string)
- func (m *GroupMemberInfo) EditSpecialTitle(title string)
- func (m *GroupMemberInfo) Kick(msg string, block bool) error
- func (m *GroupMemberInfo) Manageable() bool
- func (m *GroupMemberInfo) Mute(time uint32) error
- func (m *GroupMemberInfo) Poke()
- func (m *GroupMemberInfo) SetAdmin(flag bool)
- type GroupMessageRecalledEvent
- type GroupMuteEvent
- type GroupNameUpdatedEvent
- type GroupPokeNotifyEvent
- type GroupRedBagLuckyKingNotifyEvent
- type GroupSearchInfo
- type GroupSessionInfo
- type GroupSystemMessages
- type HandlerMap
- func (m *HandlerMap) Delete(key uint16)
- func (m *HandlerMap) Load(key uint16) (value *handlerInfo, ok bool)
- func (m *HandlerMap) LoadAndDelete(key uint16) (value *handlerInfo, loaded bool)
- func (m *HandlerMap) LoadOrStore(key uint16, value *handlerInfo) (actual *handlerInfo, loaded bool)
- func (m *HandlerMap) Range(f func(key uint16, value *handlerInfo) bool)
- func (m *HandlerMap) Store(key uint16, value *handlerInfo)
- type HonorMemberInfo
- type HonorType
- type INotifyEvent
- type LogEvent
- type LoginError
- type LoginResponse
- type MemberCardUpdatedEvent
- type MemberHonorChangedNotifyEvent
- type MemberJoinGroupEvent
- type MemberLeaveGroupEvent
- type MemberPermission
- type MemberPermissionChangedEvent
- type NewFriendEvent
- type NewFriendRequest
- type OcrResponse
- type OfflineFileEvent
- type OtherClientInfo
- type OtherClientStatusChangedEvent
- type QQClient
- func (c *QQClient) AddGroupNoticeSimple(groupCode int64, text string) error
- func (c *QQClient) AddGroupNoticeWithPic(groupCode int64, text string, pic []byte) error
- func (c *QQClient) CheckUrlSafely(url string) UrlSecurityLevel
- func (c *QQClient) Debug(msg string, args ...interface{})
- func (c *QQClient) DeleteEssenceMessage(groupCode int64, msgId, msgInternalId int32) error
- func (c *QQClient) Disconnect()
- func (c *QQClient) DownloadForwardMessage(resId string) *message.ForwardElement
- func (c *QQClient) Error(msg string, args ...interface{})
- func (c *QQClient) FindFriend(uin int64) *FriendInfo
- func (c *QQClient) FindGroup(code int64) *GroupInfo
- func (c *QQClient) FindGroupByUin(uin int64) *GroupInfo
- func (c *QQClient) GetAllowedClients() ([]*OtherClientInfo, error)
- func (c *QQClient) GetAtAllRemain(groupCode int64) (*AtAllRemainInfo, error)
- func (c *QQClient) GetCSRFToken() int
- func (c *QQClient) GetCookies() string
- func (c *QQClient) GetCookiesWithDomain(domain string) string
- func (c *QQClient) GetForwardMessage(resId string) *message.ForwardMessage
- func (c *QQClient) GetFriendList() (*FriendListResponse, error)
- func (c *QQClient) GetGroupEssenceMsgList(groupCode int64) ([]GroupDigest, error)
- func (c *QQClient) GetGroupFileSystem(groupCode int64) (fs *GroupFileSystem, err error)
- func (c *QQClient) GetGroupFileUrl(groupCode int64, fileId string, busId int32) string
- func (c *QQClient) GetGroupHonorInfo(groupCode int64, honorType HonorType) (*GroupHonorInfo, error)
- func (c *QQClient) GetGroupInfo(groupCode int64) (*GroupInfo, error)
- func (c *QQClient) GetGroupList() ([]*GroupInfo, error)
- func (c *QQClient) GetGroupMembers(group *GroupInfo) ([]*GroupMemberInfo, error)
- func (c *QQClient) GetGroupMessages(groupCode, beginSeq, endSeq int64) ([]*message.GroupMessage, error)
- func (c *QQClient) GetGroupSystemMessages() (*GroupSystemMessages, error)
- func (c *QQClient) GetShortVideoUrl(uuid, md5 []byte) string
- func (c *QQClient) GetStatistics() *Statistics
- func (c *QQClient) GetSummaryInfo(target int64) (*SummaryCardInfo, error)
- func (c *QQClient) GetTts(text string) ([]byte, error)
- func (c *QQClient) GetVipInfo(target int64) (*VipInfo, error)
- func (c *QQClient) GetWordSegmentation(text string) ([]string, error)
- func (c *QQClient) ImageOcr(img interface{}) (*OcrResponse, error)
- func (c *QQClient) Info(msg string, args ...interface{})
- func (c *QQClient) Login() (*LoginResponse, error)
- func (c *QQClient) MarkGroupMessageReaded(groupCode, seq int64)
- func (c *QQClient) MarkPrivateMessageReaded(uin, time int64)
- func (c *QQClient) OnDisconnected(f func(*QQClient, *ClientDisconnectedEvent))
- func (c *QQClient) OnFriendMessageRecalled(f func(*QQClient, *FriendMessageRecalledEvent))
- func (c *QQClient) OnFriendNotify(f func(*QQClient, INotifyEvent))
- func (c *QQClient) OnGroupDigest(f func(*QQClient, *GroupDigestEvent))
- func (c *QQClient) OnGroupInvited(f func(*QQClient, *GroupInvitedRequest))
- func (c *QQClient) OnGroupMemberCardUpdated(f func(*QQClient, *MemberCardUpdatedEvent))
- func (c *QQClient) OnGroupMemberJoined(f func(*QQClient, *MemberJoinGroupEvent))
- func (c *QQClient) OnGroupMemberLeaved(f func(*QQClient, *MemberLeaveGroupEvent))
- func (c *QQClient) OnGroupMemberPermissionChanged(f func(*QQClient, *MemberPermissionChangedEvent))
- func (c *QQClient) OnGroupMessage(f func(*QQClient, *message.GroupMessage))
- func (c *QQClient) OnGroupMessageRecalled(f func(*QQClient, *GroupMessageRecalledEvent))
- func (c *QQClient) OnGroupMuted(f func(*QQClient, *GroupMuteEvent))
- func (c *QQClient) OnGroupNameUpdated(f func(*QQClient, *GroupNameUpdatedEvent))
- func (c *QQClient) OnGroupNotify(f func(*QQClient, INotifyEvent))
- func (c *QQClient) OnJoinGroup(f func(*QQClient, *GroupInfo))
- func (c *QQClient) OnLeaveGroup(f func(*QQClient, *GroupLeaveEvent))
- func (c *QQClient) OnLog(f func(*QQClient, *LogEvent))
- func (c *QQClient) OnNewFriendAdded(f func(*QQClient, *NewFriendEvent))
- func (c *QQClient) OnNewFriendRequest(f func(*QQClient, *NewFriendRequest))
- func (c *QQClient) OnOtherClientStatusChanged(f func(*QQClient, *OtherClientStatusChangedEvent))
- func (c *QQClient) OnPrivateMessage(f func(*QQClient, *message.PrivateMessage))
- func (c *QQClient) OnPrivateMessageF(filter func(*message.PrivateMessage) bool, ...)
- func (c *QQClient) OnReceivedOfflineFile(f func(*QQClient, *OfflineFileEvent))
- func (c *QQClient) OnSelfGroupMessage(f func(*QQClient, *message.GroupMessage))
- func (c *QQClient) OnServerUpdated(f func(*QQClient, *ServerUpdatedEvent) bool)
- func (c *QQClient) OnTempMessage(f func(*QQClient, *message.TempMessage))
- func (c *QQClient) OnUserWantJoinGroup(f func(*QQClient, *UserJoinGroupRequest))
- func (c *QQClient) QueryFriendImage(target int64, hash []byte, size int32) (*message.FriendImageElement, error)
- func (c *QQClient) QueryGroupImage(groupCode int64, hash []byte, size int32) (*message.GroupImageElement, error)
- func (c *QQClient) RecallGroupMessage(groupCode int64, msgId, msgInternalId int32) error
- func (c *QQClient) RecallPrivateMessage(uin, ts int64, msgId, msgInternalId int32) error
- func (c *QQClient) RefreshStatus() error
- func (c *QQClient) ReloadFriendList() error
- func (c *QQClient) ReloadGroupList() error
- func (c *QQClient) RequestSMS() bool
- func (c *QQClient) SearchGroupByKeyword(keyword string) ([]GroupSearchInfo, error)
- func (c *QQClient) SendFriendMusicShare(target int64, msg *message.MusicShareElement)
- func (c *QQClient) SendFriendPoke(target int64)
- func (c *QQClient) SendGroupForwardMessage(groupCode int64, m *message.ForwardMessage) *message.GroupMessage
- func (c *QQClient) SendGroupGift(groupCode, uin uint64, gift message.GroupGift)
- func (c *QQClient) SendGroupMessage(groupCode int64, m *message.SendingMessage, f ...bool) *message.GroupMessage
- func (c *QQClient) SendGroupMusicShare(target int64, msg *message.MusicShareElement) (*message.GroupMessage, error)
- func (c *QQClient) SendGroupPoke(groupCode, target int64)
- func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) *message.PrivateMessage
- func (c *QQClient) SendTempMessage(groupCode, target int64, m *message.SendingMessage) *message.TempMessage
- func (c *QQClient) SetCustomServer(servers []*net.TCPAddr)
- func (c *QQClient) SetEssenceMessage(groupCode int64, msgId, msgInternalId int32) error
- func (c *QQClient) SolveFriendRequest(req *NewFriendRequest, accept bool)
- func (c *QQClient) SolveGroupJoinRequest(i interface{}, accept, block bool, reason string)
- func (c *QQClient) SubmitCaptcha(result string, sign []byte) (*LoginResponse, error)
- func (c *QQClient) SubmitSMS(code string) (*LoginResponse, error)
- func (c *QQClient) SubmitTicket(ticket string) (*LoginResponse, error)
- func (c *QQClient) SyncSessions() (*SessionSyncResponse, error)
- func (c *QQClient) Trace(msg string, args ...interface{})
- func (c *QQClient) Translate(src, dst, text string) (string, error)
- func (c *QQClient) UploadGroupForwardMessage(groupCode int64, m *message.ForwardMessage) *message.ForwardElement
- func (c *QQClient) UploadGroupImage(groupCode int64, img io.ReadSeeker) (*message.GroupImageElement, error)
- func (c *QQClient) UploadGroupImageByFile(groupCode int64, path string) (*message.GroupImageElement, error)
- func (c *QQClient) UploadGroupPtt(groupCode int64, voice io.ReadSeeker) (*message.GroupVoiceElement, error)
- func (c *QQClient) UploadGroupShortVideo(groupCode int64, video, thumb io.ReadSeeker, combinedCache ...string) (*message.ShortVideoElement, error)
- func (c *QQClient) UploadPrivateImage(target int64, img io.ReadSeeker) (*message.FriendImageElement, error)
- func (c *QQClient) UploadPrivatePtt(target int64, voice []byte) (*message.PrivateVoiceElement, error)
- func (c *QQClient) Warning(msg string, args ...interface{})
- type ServerUpdatedEvent
- type SessionSyncResponse
- type Statistics
- type SummaryCardInfo
- type TextDetection
- type UrlSecurityLevel
- type UserJoinGroupRequest
- type Version
- type VersionFile
- type VipInfo
Constants ¶
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 Owner MemberPermission = iota Administrator Member AndroidPhone ClientProtocol = 1 IPad ClientProtocol = 2 AndroidWatch ClientProtocol = 3 MacOS ClientProtocol = 4 )
Variables ¶
var ( ErrAlreadyOnline = errors.New("already online") ErrMemberNotFound = errors.New("member not found") ErrNotExists = errors.New("not exists") )
var EmptyBytes = []byte{}
var NumberRange = "0123456789"
var SystemDeviceInfo = &DeviceInfo{ Display: []byte("MIRAI.123456.001"), Product: []byte("mirai"), Device: []byte("mirai"), Board: []byte("mirai"), Brand: []byte("mamoe"), Model: []byte("mirai"), Bootloader: []byte("unknown"), FingerPrint: []byte("mamoe/mirai/mirai:10/MIRAI.200122.001/1234567:user/release-keys"), BootId: []byte("cb886ae2-00b6-4d68-a230-787f111d12c7"), ProcVersion: []byte("Linux version 3.0.31-cb886ae2 (android-build@xxx.xxx.xxx.xxx.com)"), BaseBand: []byte{}, SimInfo: []byte("T-Mobile"), OSType: []byte("android"), MacAddress: []byte("00:50:56:C0:00:08"), IpAddress: []byte{10, 0, 1, 3}, WifiBSSID: []byte("00:50:56:C0:00:08"), WifiSSID: []byte("<unknown ssid>"), IMEI: "468356291846738", AndroidId: []byte("MIRAI.123456.001"), APN: []byte("wifi"), VendorName: []byte("MIUI"), VendorOSName: []byte("mirai"), Protocol: IPad, Version: &Version{ Incremental: []byte("5891938"), Release: []byte("10"), CodeName: []byte("REL"), Sdk: 29, }, }
default
Functions ¶
func GenRandomDevice ¶
func GenRandomDevice()
func NewUinFilterPrivate ¶
func NewUinFilterPrivate(uin int64) func(*message.PrivateMessage) bool
Types ¶
type AtAllRemainInfo ¶
type ClientDisconnectedEvent ¶
type ClientDisconnectedEvent struct {
Message string
}
type ClientProtocol ¶
type ClientProtocol int
type Coordinate ¶
type CurrentTalkative ¶
type DeviceInfo ¶
type DeviceInfo struct { Display []byte Product []byte Device []byte Board []byte Brand []byte Model []byte Bootloader []byte FingerPrint []byte BootId []byte ProcVersion []byte BaseBand []byte SimInfo []byte OSType []byte MacAddress []byte IpAddress []byte WifiBSSID []byte WifiSSID []byte IMSIMd5 []byte IMEI string AndroidId []byte APN []byte VendorName []byte VendorOSName []byte Guid []byte TgtgtKey []byte Protocol ClientProtocol Version *Version }
func (*DeviceInfo) GenDeviceInfoData ¶
func (info *DeviceInfo) GenDeviceInfoData() []byte
func (*DeviceInfo) GenNewGuid ¶
func (info *DeviceInfo) GenNewGuid()
func (*DeviceInfo) GenNewTgtgtKey ¶
func (info *DeviceInfo) GenNewTgtgtKey()
func (*DeviceInfo) ReadJson ¶
func (info *DeviceInfo) ReadJson(d []byte) error
func (*DeviceInfo) ToJson ¶
func (info *DeviceInfo) ToJson() []byte
type DeviceInfoFile ¶
type DeviceInfoFile struct { Display string `json:"display"` Product string `json:"product"` Device string `json:"device"` Board string `json:"board"` Model string `json:"model"` FingerPrint string `json:"finger_print"` BootId string `json:"boot_id"` ProcVersion string `json:"proc_version"` Protocol int `json:"protocol"` // 0: Pad 1: Phone 2: Watch IMEI string `json:"imei"` Brand string `json:"brand"` Bootloader string `json:"bootloader"` BaseBand string `json:"base_band"` Version *VersionFile `json:"version"` SimInfo string `json:"sim_info"` OsType string `json:"os_type"` MacAddress string `json:"mac_address"` IpAddress []int32 `json:"ip_address"` WifiBSSID string `json:"wifi_bssid"` WifiSSID string `json:"wifi_ssid"` ImsiMd5 string `json:"imsi_md5"` AndroidId string `json:"android_id"` Apn string `json:"apn"` VendorName string `json:"vendor_name"` VendorOSName string `json:"vendor_os_name"` }
type FriendListResponse ¶
type FriendListResponse struct { TotalCount int32 List []*FriendInfo }
type FriendPokeNotifyEvent ¶
FriendPokeNotifyEvent 好友戳一戳提示事件
func (*FriendPokeNotifyEvent) Content ¶
func (e *FriendPokeNotifyEvent) Content() string
func (*FriendPokeNotifyEvent) From ¶
func (e *FriendPokeNotifyEvent) From() int64
type GroupDigest ¶
type GroupDigest struct { GroupCode string `json:"group_code"` MessageID uint32 `json:"msg_seq"` InternalMessageID uint32 `json:"msg_random"` SenderUin string `json:"sender_uin"` SenderNick string `json:"sender_nick"` SenderTime int64 `json:"sender_time"` AddDigestUin string `json:"add_digest_uin"` AddDigestNick string `json:"add_digest_nick"` AddDigestTime int64 `json:"add_digest_time"` }
GroupDigest 群精华消息
type GroupDigestEvent ¶
type GroupDigestEvent struct { GroupCode int64 MessageID int32 InternalMessageID int32 OperationType int32 // 1 -> 设置精华消息, 2 -> 移除精华消息 OperateTime uint32 SenderUin int64 OperatorUin int64 SenderNick string OperatorNick string }
GroupDigestEvent 群精华消息 不知道tx为什么搞两种名字
type GroupFile ¶
type GroupFile struct { GroupCode int64 `json:"group_id"` FileId string `json:"file_id"` FileName string `json:"file_name"` BusId int32 `json:"busid"` FileSize int64 `json:"file_size"` UploadTime int64 `json:"upload_time"` DeadTime int64 `json:"dead_time"` ModifyTime int64 `json:"modify_time"` DownloadTimes int64 `json:"download_times"` Uploader int64 `json:"uploader"` UploaderName string `json:"uploader_name"` }
type GroupFileSystem ¶
type GroupFileSystem struct { FileCount uint32 `json:"file_count"` LimitCount uint32 `json:"limit_count"` UsedSpace uint64 `json:"used_space"` TotalSpace uint64 `json:"total_space"` GroupCode int64 `json:"group_id"` // contains filtered or unexported fields }
func (*GroupFileSystem) DeleteFile ¶
func (fs *GroupFileSystem) DeleteFile(parentFolderId, fileId string, busId int32) string
DeleteFile 删除群文件,需要管理权限. 返回错误, 空为删除成功
func (*GroupFileSystem) GetDownloadUrl ¶
func (fs *GroupFileSystem) GetDownloadUrl(file *GroupFile) string
func (*GroupFileSystem) GetFilesByFolder ¶
func (fs *GroupFileSystem) GetFilesByFolder(folderId string) ([]*GroupFile, []*GroupFolder, error)
func (*GroupFileSystem) Root ¶
func (fs *GroupFileSystem) Root() ([]*GroupFile, []*GroupFolder, error)
func (*GroupFileSystem) UploadFile ¶
func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error
type GroupFolder ¶
type GroupHonorInfo ¶
type GroupHonorInfo struct { GroupCode string `json:"gc"` Uin string `json:"uin"` Type HonorType `json:"type"` TalkativeList []HonorMemberInfo `json:"talkativeList"` CurrentTalkative CurrentTalkative `json:"currentTalkative"` ActorList []HonorMemberInfo `json:"actorList"` LegendList []HonorMemberInfo `json:"legendList"` StrongNewbieList []HonorMemberInfo `json:"strongnewbieList"` EmotionList []HonorMemberInfo `json:"emotionList"` }
type GroupInfo ¶
type GroupInfo struct { Uin int64 Code int64 Name string Memo string OwnerUin int64 MemberCount uint16 MaxMemberCount uint16 Members []*GroupMemberInfo // 最后一条信息的SEQ,只有通过 GetGroupInfo 函数获取的 GroupInfo 才会有 LastMsgSeq int64 // contains filtered or unexported fields }
func (*GroupInfo) AdministratorOrOwner ¶
func (*GroupInfo) FindMember ¶
func (g *GroupInfo) FindMember(uin int64) *GroupMemberInfo
func (*GroupInfo) FindMemberWithoutLock ¶
func (g *GroupInfo) FindMemberWithoutLock(uin int64) *GroupMemberInfo
func (*GroupInfo) MuteAnonymous ¶
func (*GroupInfo) SelfPermission ¶
func (g *GroupInfo) SelfPermission() MemberPermission
func (*GroupInfo) UpdateGroupHeadPortrait ¶
func (*GroupInfo) UpdateMemo ¶
func (*GroupInfo) UpdateName ¶
type GroupInvitedRequest ¶
type GroupInvitedRequest struct { RequestId int64 `json:"request_id"` InvitorUin int64 `json:"invitor_uin"` InvitorNick string `json:"invitor_nick"` GroupCode int64 `json:"group_id"` GroupName string `json:"group_name"` Checked bool `json:"checked"` Actor int64 `json:"actor"` // contains filtered or unexported fields }
func (*GroupInvitedRequest) Accept ¶
func (r *GroupInvitedRequest) Accept()
func (*GroupInvitedRequest) Reject ¶
func (r *GroupInvitedRequest) Reject(block bool, reason string)
type GroupLeaveEvent ¶
type GroupLeaveEvent struct { Group *GroupInfo Operator *GroupMemberInfo }
type GroupMemberInfo ¶
type GroupMemberInfo struct { Group *GroupInfo Uin int64 Gender byte Nickname string CardName string Level uint16 JoinTime int64 LastSpeakTime int64 SpecialTitle string SpecialTitleExpireTime int64 Permission MemberPermission }
func (*GroupMemberInfo) CardChangable ¶
func (m *GroupMemberInfo) CardChangable() bool
func (*GroupMemberInfo) DisplayName ¶
func (m *GroupMemberInfo) DisplayName() string
func (*GroupMemberInfo) EditCard ¶
func (m *GroupMemberInfo) EditCard(card string)
func (*GroupMemberInfo) EditSpecialTitle ¶
func (m *GroupMemberInfo) EditSpecialTitle(title string)
func (*GroupMemberInfo) Manageable ¶
func (m *GroupMemberInfo) Manageable() bool
func (*GroupMemberInfo) Mute ¶
func (m *GroupMemberInfo) Mute(time uint32) error
func (*GroupMemberInfo) Poke ¶
func (m *GroupMemberInfo) Poke()
func (*GroupMemberInfo) SetAdmin ¶
func (m *GroupMemberInfo) SetAdmin(flag bool)
type GroupMuteEvent ¶
type GroupNameUpdatedEvent ¶
type GroupPokeNotifyEvent ¶
GroupPokeNotifyEvent 群内戳一戳提示事件
func (*GroupPokeNotifyEvent) Content ¶
func (e *GroupPokeNotifyEvent) Content() string
func (*GroupPokeNotifyEvent) From ¶
func (e *GroupPokeNotifyEvent) From() int64
type GroupRedBagLuckyKingNotifyEvent ¶
GroupRedBagLuckyKingNotifyEvent 群内抢红包运气王提示事件
func (*GroupRedBagLuckyKingNotifyEvent) Content ¶
func (e *GroupRedBagLuckyKingNotifyEvent) Content() string
func (*GroupRedBagLuckyKingNotifyEvent) From ¶
func (e *GroupRedBagLuckyKingNotifyEvent) From() int64
type GroupSearchInfo ¶
GroupSearchInfo 通过搜索得到的群信息
type GroupSessionInfo ¶
type GroupSessionInfo struct { GroupCode int64 UnreadCount uint32 LatestMessages []*message.GroupMessage }
GroupSessionInfo 群会话信息
type GroupSystemMessages ¶
type GroupSystemMessages struct { InvitedRequests []*GroupInvitedRequest `json:"invited_requests"` JoinRequests []*UserJoinGroupRequest `json:"join_requests"` }
type HandlerMap ¶
type HandlerMap struct {
// contains filtered or unexported fields
}
Map is like a Go map[interface{}]interface{} but is safe for concurrent use by multiple goroutines without additional locking or coordination. Loads, stores, and deletes run in amortized constant time.
The Map type is specialized. Most code should use a plain Go map instead, with separate locking or coordination, for better type safety and to make it easier to maintain other invariants along with the map content.
The Map type is optimized for two common use cases: (1) when the entry for a given key is only ever written once but read many times, as in caches that only grow, or (2) when multiple goroutines read, write, and overwrite entries for disjoint sets of keys. In these two cases, use of a Map may significantly reduce lock contention compared to a Go map paired with a separate Mutex or RWMutex.
The zero Map is empty and ready for use. A Map must not be copied after first use.
func (*HandlerMap) Delete ¶
func (m *HandlerMap) Delete(key uint16)
Delete deletes the value for a key.
func (*HandlerMap) Load ¶
func (m *HandlerMap) Load(key uint16) (value *handlerInfo, ok bool)
Load returns the value stored in the map for a key, or nil if no value is present. The ok result indicates whether value was found in the map.
func (*HandlerMap) LoadAndDelete ¶
func (m *HandlerMap) LoadAndDelete(key uint16) (value *handlerInfo, loaded bool)
LoadAndDelete deletes the value for a key, returning the previous value if any. The loaded result reports whether the key was present.
func (*HandlerMap) LoadOrStore ¶
func (m *HandlerMap) LoadOrStore(key uint16, value *handlerInfo) (actual *handlerInfo, loaded bool)
LoadOrStore returns the existing value for the key if present. Otherwise, it stores and returns the given value. The loaded result is true if the value was loaded, false if stored.
func (*HandlerMap) Range ¶
func (m *HandlerMap) Range(f func(key uint16, value *handlerInfo) bool)
Range calls f sequentially for each key and value present in the map. If f returns false, range stops the iteration.
Range does not necessarily correspond to any consistent snapshot of the Map's contents: no key will be visited more than once, but if the value for any key is stored or deleted concurrently, Range may reflect any mapping for that key from any point during the Range call.
Range may be O(N) with the number of elements in the map even if f returns false after a constant number of calls.
func (*HandlerMap) Store ¶
func (m *HandlerMap) Store(key uint16, value *handlerInfo)
Store sets the value for a key.
type HonorMemberInfo ¶
type INotifyEvent ¶
type LoginError ¶
type LoginError int
type LoginResponse ¶
type MemberCardUpdatedEvent ¶
type MemberCardUpdatedEvent struct { Group *GroupInfo OldCard string Member *GroupMemberInfo }
type MemberHonorChangedNotifyEvent ¶
MemberHonorChangedNotifyEvent 群成员荣誉变更提示事件
func (*MemberHonorChangedNotifyEvent) Content ¶
func (e *MemberHonorChangedNotifyEvent) Content() string
func (*MemberHonorChangedNotifyEvent) From ¶
func (e *MemberHonorChangedNotifyEvent) From() int64
type MemberJoinGroupEvent ¶
type MemberJoinGroupEvent struct { Group *GroupInfo Member *GroupMemberInfo }
type MemberLeaveGroupEvent ¶
type MemberLeaveGroupEvent struct { Group *GroupInfo Member *GroupMemberInfo Operator *GroupMemberInfo }
type MemberPermission ¶
type MemberPermission int
type MemberPermissionChangedEvent ¶
type MemberPermissionChangedEvent struct { Group *GroupInfo Member *GroupMemberInfo OldPermission MemberPermission NewPermission MemberPermission }
type NewFriendEvent ¶
type NewFriendEvent struct {
Friend *FriendInfo
}
type NewFriendRequest ¶
type NewFriendRequest struct { RequestId int64 Message string RequesterUin int64 RequesterNick string // contains filtered or unexported fields }
func (*NewFriendRequest) Accept ¶
func (r *NewFriendRequest) Accept()
func (*NewFriendRequest) Reject ¶
func (r *NewFriendRequest) Reject()
type OcrResponse ¶
type OcrResponse struct { Texts []*TextDetection `json:"texts"` Language string `json:"language"` }
type OfflineFileEvent ¶
type OtherClientInfo ¶
type OtherClientStatusChangedEvent ¶
type OtherClientStatusChangedEvent struct { Client *OtherClientInfo Online bool }
type QQClient ¶
type QQClient struct { Uin int64 PasswordMd5 [16]byte AllowSlider bool Nickname string Age uint16 Gender uint16 FriendList []*FriendInfo GroupList []*GroupInfo OnlineClients []*OtherClientInfo Online bool NetLooping bool SequenceId int32 OutGoingPacketSessionId []byte RandomKey []byte Conn net.Conn ConnectTime time.Time // contains filtered or unexported fields }
func NewClientMd5 ¶
func (*QQClient) AddGroupNoticeSimple ¶
AddGroupNoticeSimple 发群公告
func (*QQClient) AddGroupNoticeWithPic ¶
AddGroupNoticeWithPic 发群公告带图片
func (*QQClient) CheckUrlSafely ¶
func (c *QQClient) CheckUrlSafely(url string) UrlSecurityLevel
CheckUrlSafely 通过TX服务器检查URL安全性
func (*QQClient) DeleteEssenceMessage ¶
DeleteEssenceMessage 移出群精华消息
func (*QQClient) Disconnect ¶
func (c *QQClient) Disconnect()
func (*QQClient) DownloadForwardMessage ¶
func (c *QQClient) DownloadForwardMessage(resId string) *message.ForwardElement
func (*QQClient) FindFriend ¶
func (c *QQClient) FindFriend(uin int64) *FriendInfo
func (*QQClient) FindGroupByUin ¶
func (*QQClient) GetAllowedClients ¶
func (c *QQClient) GetAllowedClients() ([]*OtherClientInfo, error)
GetAllowedClients 获取已允许的其他客户端
func (*QQClient) GetAtAllRemain ¶
func (c *QQClient) GetAtAllRemain(groupCode int64) (*AtAllRemainInfo, error)
func (*QQClient) GetCSRFToken ¶
func (*QQClient) GetCookies ¶
func (*QQClient) GetCookiesWithDomain ¶
func (*QQClient) GetForwardMessage ¶
func (c *QQClient) GetForwardMessage(resId string) *message.ForwardMessage
func (*QQClient) GetFriendList ¶
func (c *QQClient) GetFriendList() (*FriendListResponse, error)
GetFriendList request friend list
func (*QQClient) GetGroupEssenceMsgList ¶
func (c *QQClient) GetGroupEssenceMsgList(groupCode int64) ([]GroupDigest, error)
GetGroupEssenceMsgList 获取群精华消息列表
func (*QQClient) GetGroupFileSystem ¶
func (c *QQClient) GetGroupFileSystem(groupCode int64) (fs *GroupFileSystem, err error)
func (*QQClient) GetGroupFileUrl ¶
func (*QQClient) GetGroupHonorInfo ¶
func (c *QQClient) GetGroupHonorInfo(groupCode int64, honorType HonorType) (*GroupHonorInfo, error)
func (*QQClient) GetGroupInfo ¶
func (*QQClient) GetGroupList ¶
func (*QQClient) GetGroupMembers ¶
func (c *QQClient) GetGroupMembers(group *GroupInfo) ([]*GroupMemberInfo, error)
func (*QQClient) GetGroupMessages ¶
func (c *QQClient) GetGroupMessages(groupCode, beginSeq, endSeq int64) ([]*message.GroupMessage, error)
GetGroupMessages 从服务器获取历史信息
func (*QQClient) GetGroupSystemMessages ¶
func (c *QQClient) GetGroupSystemMessages() (*GroupSystemMessages, error)
func (*QQClient) GetShortVideoUrl ¶
func (*QQClient) GetStatistics ¶
func (c *QQClient) GetStatistics() *Statistics
func (*QQClient) GetSummaryInfo ¶
func (c *QQClient) GetSummaryInfo(target int64) (*SummaryCardInfo, error)
func (*QQClient) GetWordSegmentation ¶
func (*QQClient) ImageOcr ¶
func (c *QQClient) ImageOcr(img interface{}) (*OcrResponse, error)
func (*QQClient) Login ¶
func (c *QQClient) Login() (*LoginResponse, error)
Login send login request
func (*QQClient) MarkGroupMessageReaded ¶
MarkGroupMessageReaded 标记群消息已读, 适当调用应该能减少风控
func (*QQClient) MarkPrivateMessageReaded ¶
func (*QQClient) OnDisconnected ¶
func (c *QQClient) OnDisconnected(f func(*QQClient, *ClientDisconnectedEvent))
func (*QQClient) OnFriendMessageRecalled ¶
func (c *QQClient) OnFriendMessageRecalled(f func(*QQClient, *FriendMessageRecalledEvent))
func (*QQClient) OnFriendNotify ¶
func (c *QQClient) OnFriendNotify(f func(*QQClient, INotifyEvent))
func (*QQClient) OnGroupDigest ¶
func (c *QQClient) OnGroupDigest(f func(*QQClient, *GroupDigestEvent))
OnGroupDigest 群精华消息事件注册
func (*QQClient) OnGroupInvited ¶
func (c *QQClient) OnGroupInvited(f func(*QQClient, *GroupInvitedRequest))
func (*QQClient) OnGroupMemberCardUpdated ¶
func (c *QQClient) OnGroupMemberCardUpdated(f func(*QQClient, *MemberCardUpdatedEvent))
func (*QQClient) OnGroupMemberJoined ¶
func (c *QQClient) OnGroupMemberJoined(f func(*QQClient, *MemberJoinGroupEvent))
func (*QQClient) OnGroupMemberLeaved ¶
func (c *QQClient) OnGroupMemberLeaved(f func(*QQClient, *MemberLeaveGroupEvent))
func (*QQClient) OnGroupMemberPermissionChanged ¶
func (c *QQClient) OnGroupMemberPermissionChanged(f func(*QQClient, *MemberPermissionChangedEvent))
func (*QQClient) OnGroupMessage ¶
func (c *QQClient) OnGroupMessage(f func(*QQClient, *message.GroupMessage))
func (*QQClient) OnGroupMessageRecalled ¶
func (c *QQClient) OnGroupMessageRecalled(f func(*QQClient, *GroupMessageRecalledEvent))
func (*QQClient) OnGroupMuted ¶
func (c *QQClient) OnGroupMuted(f func(*QQClient, *GroupMuteEvent))
func (*QQClient) OnGroupNameUpdated ¶
func (c *QQClient) OnGroupNameUpdated(f func(*QQClient, *GroupNameUpdatedEvent))
func (*QQClient) OnGroupNotify ¶
func (c *QQClient) OnGroupNotify(f func(*QQClient, INotifyEvent))
func (*QQClient) OnJoinGroup ¶
func (*QQClient) OnLeaveGroup ¶
func (c *QQClient) OnLeaveGroup(f func(*QQClient, *GroupLeaveEvent))
func (*QQClient) OnNewFriendAdded ¶
func (c *QQClient) OnNewFriendAdded(f func(*QQClient, *NewFriendEvent))
func (*QQClient) OnNewFriendRequest ¶
func (c *QQClient) OnNewFriendRequest(f func(*QQClient, *NewFriendRequest))
func (*QQClient) OnOtherClientStatusChanged ¶
func (c *QQClient) OnOtherClientStatusChanged(f func(*QQClient, *OtherClientStatusChangedEvent))
func (*QQClient) OnPrivateMessage ¶
func (c *QQClient) OnPrivateMessage(f func(*QQClient, *message.PrivateMessage))
func (*QQClient) OnPrivateMessageF ¶
func (c *QQClient) OnPrivateMessageF(filter func(*message.PrivateMessage) bool, f func(*QQClient, *message.PrivateMessage))
func (*QQClient) OnReceivedOfflineFile ¶
func (c *QQClient) OnReceivedOfflineFile(f func(*QQClient, *OfflineFileEvent))
func (*QQClient) OnSelfGroupMessage ¶
func (c *QQClient) OnSelfGroupMessage(f func(*QQClient, *message.GroupMessage))
func (*QQClient) OnServerUpdated ¶
func (c *QQClient) OnServerUpdated(f func(*QQClient, *ServerUpdatedEvent) bool)
func (*QQClient) OnTempMessage ¶
func (c *QQClient) OnTempMessage(f func(*QQClient, *message.TempMessage))
func (*QQClient) OnUserWantJoinGroup ¶
func (c *QQClient) OnUserWantJoinGroup(f func(*QQClient, *UserJoinGroupRequest))
func (*QQClient) QueryFriendImage ¶
func (*QQClient) QueryGroupImage ¶
func (*QQClient) RecallGroupMessage ¶
func (*QQClient) RecallPrivateMessage ¶
func (*QQClient) ReloadFriendList ¶
ReloadFriendList refresh QQClient.FriendList field via GetFriendList()
func (*QQClient) ReloadGroupList ¶
func (*QQClient) RequestSMS ¶
func (*QQClient) SearchGroupByKeyword ¶
func (c *QQClient) SearchGroupByKeyword(keyword string) ([]GroupSearchInfo, error)
SearchGroupByKeyword 通过关键词搜索陌生群组
func (*QQClient) SendFriendMusicShare ¶
func (c *QQClient) SendFriendMusicShare(target int64, msg *message.MusicShareElement)
SendFriendMusicShare 发送好友音乐卡片
func (*QQClient) SendFriendPoke ¶
func (*QQClient) SendGroupForwardMessage ¶
func (c *QQClient) SendGroupForwardMessage(groupCode int64, m *message.ForwardMessage) *message.GroupMessage
SendGroupForwardMessage 发送群合并转发消息
func (*QQClient) SendGroupGift ¶
func (*QQClient) SendGroupMessage ¶
func (c *QQClient) SendGroupMessage(groupCode int64, m *message.SendingMessage, f ...bool) *message.GroupMessage
SendGroupMessage 发送群消息
func (*QQClient) SendGroupMusicShare ¶
func (c *QQClient) SendGroupMusicShare(target int64, msg *message.MusicShareElement) (*message.GroupMessage, error)
SendGroupMusicShare 发送群聊音乐卡片
func (*QQClient) SendGroupPoke ¶
func (*QQClient) SendPrivateMessage ¶
func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) *message.PrivateMessage
func (*QQClient) SendTempMessage ¶
func (c *QQClient) SendTempMessage(groupCode, target int64, m *message.SendingMessage) *message.TempMessage
func (*QQClient) SetCustomServer ¶
func (*QQClient) SetEssenceMessage ¶
SetEssenceMessage 设为群精华消息
func (*QQClient) SolveFriendRequest ¶
func (c *QQClient) SolveFriendRequest(req *NewFriendRequest, accept bool)
func (*QQClient) SolveGroupJoinRequest ¶
func (*QQClient) SubmitCaptcha ¶
func (c *QQClient) SubmitCaptcha(result string, sign []byte) (*LoginResponse, error)
SubmitCaptcha send captcha to server
func (*QQClient) SubmitTicket ¶
func (c *QQClient) SubmitTicket(ticket string) (*LoginResponse, error)
func (*QQClient) SyncSessions ¶
func (c *QQClient) SyncSessions() (*SessionSyncResponse, error)
func (*QQClient) UploadGroupForwardMessage ¶
func (c *QQClient) UploadGroupForwardMessage(groupCode int64, m *message.ForwardMessage) *message.ForwardElement
func (*QQClient) UploadGroupImage ¶
func (c *QQClient) UploadGroupImage(groupCode int64, img io.ReadSeeker) (*message.GroupImageElement, error)
func (*QQClient) UploadGroupImageByFile ¶
func (*QQClient) UploadGroupPtt ¶
func (c *QQClient) UploadGroupPtt(groupCode int64, voice io.ReadSeeker) (*message.GroupVoiceElement, error)
UploadGroupPtt 将语音数据使用群语音通道上传到服务器, 返回 message.GroupVoiceElement 可直接发送
func (*QQClient) UploadGroupShortVideo ¶
func (c *QQClient) UploadGroupShortVideo(groupCode int64, video, thumb io.ReadSeeker, combinedCache ...string) (*message.ShortVideoElement, error)
UploadGroupShortVideo 将视频和封面上传到服务器, 返回 message.ShortVideoElement 可直接发送 combinedCache 本地文件缓存, 设置后可多线程上传
func (*QQClient) UploadPrivateImage ¶
func (c *QQClient) UploadPrivateImage(target int64, img io.ReadSeeker) (*message.FriendImageElement, error)
func (*QQClient) UploadPrivatePtt ¶
func (c *QQClient) UploadPrivatePtt(target int64, voice []byte) (*message.PrivateVoiceElement, error)
UploadPrivatePtt 将语音数据使用好友语音通道上传到服务器, 返回 message.PrivateVoiceElement 可直接发送
type ServerUpdatedEvent ¶
type ServerUpdatedEvent struct {
Servers []jce.SsoServerInfo
}
type SessionSyncResponse ¶
type SessionSyncResponse struct {
GroupSessions []*GroupSessionInfo
}
SessionSyncResponse 会话同步结果
type Statistics ¶
type Statistics struct { PacketReceived uint64 `json:"packet_received"` PacketSent uint64 `json:"packet_sent"` PacketLost uint32 `json:"packet_lost"` MessageReceived uint64 `json:"message_received"` MessageSent uint64 `json:"message_sent"` DisconnectTimes uint32 `json:"disconnect_times"` LostTimes uint32 `json:"lost_times"` LastMessageTime int64 `json:"last_message_time"` // contains filtered or unexported fields }
type SummaryCardInfo ¶
type TextDetection ¶
type TextDetection struct { Text string `json:"text"` Confidence int32 `json:"confidence"` Coordinates []*Coordinate `json:"coordinates"` }
type UrlSecurityLevel ¶
type UrlSecurityLevel int
const ( Safe UrlSecurityLevel = 1 Unknown UrlSecurityLevel = 2 Danger UrlSecurityLevel = 3 )
type UserJoinGroupRequest ¶
type UserJoinGroupRequest struct { RequestId int64 `json:"request_id"` Message string `json:"message"` RequesterUin int64 `json:"requester_uin"` RequesterNick string `json:"requester_nick"` GroupCode int64 `json:"group_id"` GroupName string `json:"group_name"` Checked bool `json:"checked"` Actor int64 `json:"actor"` Suspicious bool `json:"suspicious"` // contains filtered or unexported fields }
func (*UserJoinGroupRequest) Accept ¶
func (r *UserJoinGroupRequest) Accept()
func (*UserJoinGroupRequest) Reject ¶
func (r *UserJoinGroupRequest) Reject(block bool, reason string)
type VersionFile ¶
Source Files ¶
- builders.go
- c2c_processor.go
- client.go
- decoders.go
- entities.go
- events.go
- global.go
- group_file.go
- group_info.go
- group_msg.go
- group_notice.go
- handler_map_gen.go
- highway.go
- honor.go
- image.go
- multimsg.go
- notify.go
- offline_file.go
- online_push.go
- private_msg.go
- ptt.go
- recall.go
- richmsg.go
- security.go
- statistics.go
- sync.go
- system_msg.go
- tlv_decoders.go
- translate.go
- tts.go
- vip.go