miraiGo

package module
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2020 License: AGPL-3.0 Imports: 6 Imported by: 0

README

miraiGo

mirai-http-api implementation in Go

Documentation

Index

Constants

View Source
const (
	EventReceiveFriendMessage            = "FriendMessage"
	EventReceiveGroupMessage             = "GroupMessage"
	EventReceiveTempMessage              = "TempMessage"
	EventBotOnline                       = "BotOnlineEvent"
	EventBotOfflineActive                = "BotOfflineEventActive"
	EventBotOfflineForce                 = "BotOfflineEventForce"
	EventBotOfflineDropped               = "BotOfflineEventDropped"
	EventBotRelogin                      = "BotReloginEvent"
	EventGroupRecall                     = "GroupRecallEvent"
	EventFriendRecall                    = "FriendRecallEvent"
	EventBotGroupPermissionChange        = "BotGroupPermissionChangeEvent"
	EventBotMute                         = "BotMuteEvent"
	EventBotUnmute                       = "BotUnmuteEvent"
	EventBotJoinGroup                    = "BotJoinGroupEvent"
	EventBotLeaveActive                  = "BotLeaveEventActive"
	EventBotLeaveKick                    = "BotLeaveEventKick"
	EventGroupNameChange                 = "GroupNameChangeEvent"
	EventGroupEntranceAnnouncementChange = "GroupEntranceAnnouncementChangeEvent"
	EventGroupMuteAll                    = "GroupMuteAllEvent"
	EventGroupAllowAnonymousChat         = "GroupAllowAnonymousChatEvent"
	EventGroupAllowConfessTalk           = "GroupAllowConfessTalkEvent"
	EventGroupAllowMemberInvite          = "GroupAllowMemberInviteEvent"
	EventMemberJoin                      = "MemberJoinEvent"
	EventMemberLeaveKick                 = "MemberLeaveEventKick"
	EventMemberLeaveQuit                 = "MemberLeaveEventQuit"
	EventMemberCardChange                = "MemberCardChangeEvent"
	EventMemberSpecialTitleChange        = "MemberSpecialTitleChangeEvent"
	EventMemberPermissionChange          = "MemberPermissionChangeEvent"
	EventMemberMute                      = "MemberMuteEvent"
	EventMemberUnmute                    = "MemberUnmuteEvent"
	EventNewFriendRequest                = "NewFriendRequestEvent"
	EventMemberJoinRequest               = "MemberJoinRequestEvent"
	EventBotInvitedJoinGroupRequest      = "BotInvitedJoinGroupRequestEvent"
)
View Source
const (
	MsgType_Source     = "Source"
	MsgType_Quote      = "Quote"
	MsgType_At         = "At"
	MsgType_AtAll      = "AtAll"
	MsgType_Face       = "Face"
	MsgType_Plain      = "Plain"
	MsgType_Image      = "Image"
	MsgType_FlashImage = "FlashImage"
	MsgType_Xml        = "Xml"
	MsgType_Json       = "Json"
	MsgType_App        = "App"
	MsgType_Poke       = "Poke"
)

Variables

This section is empty.

Functions

func GetErrByCode

func GetErrByCode(code uint) error

Types

type AuthReq

type AuthReq struct {
	AuthKey string `json:"authKey"`
}

身份验证请求

type AuthResp

type AuthResp struct {
	Code       uint   `json:"code"`
	SessionKey string `json:"session"`
}

身份验证响应

type Event

type Event struct {
	Type         string    `json:"type"`         //事件类型
	MessageChain []Message `json:"messageChain"` //(ReceiveMessage)消息链
	Sender       Sender    `json:"sender"`       //(ReceiveMessage)发送者信息
	EventId      uint64    `json:"eventId"`      //事件ID
	FromId       uint64    `json:"fromId"`       //操作人
	GroupId      uint64    `json:"groupId"`      //群号
}

type Group

type Group struct {
	Id        uint   `json:"id,omitempty"`        //消息来源群号
	Name      string `json:"name,omitempty"`      //消息来源群名
	Permisson string `json:"permisson,omitempty"` //bot在群中的角色
}

type Message

type Message struct {
	Type      string    `json:"type,omitempty"`
	Id        uint      `json:"id,omitempty"`       //(Source,Quote)Source中表示消息id,Quote中表示被引用回复的原消息的id
	Time      int64     `json:"time,omitempty"`     //(Source) 发送时间
	GroupId   uint      `json:"groupId,omitempty"`  //(Quote)Quote中表示被引用回复的原消息的群号
	SenderId  uint      `json:"senderId,omitempty"` //(Quote)Quote中表示被引用回复的原消息的发送者QQ号
	TargetId  uint      `json:"targetId,omitempty"` //(Quote)Quote中表示被引用回复的原消息的接收者群号或QQ号
	Origin    []Message `json:"origin,omitempty"`   //(Quote)Quote中表示被引用回复的原消息的消息链对象
	Target    uint      `json:"target,omitempty"`   //(At)@的群员QQ号
	Display   string    `json:"display,omitempty"`  //(At)@的显示文本
	FaceId    uint      `json:"faceId,omitempty"`   //(Face)QQ表情的ID,发送时优先级比Name高
	Name      string    `json:"name,omitempty"`     //(Face,Poke)Face中为QQ表情的拼音,Poke中为戳一戳的类型
	Text      string    `json:"text,omitempty"`     //(Plain)纯文本
	ImageId   string    `json:"imageId,omitempty"`  //(Image,FlashImage)图片ID,注意消息类型,群图片和好友图片格式不一样,发送时优先级比ImageUrl高
	ImageUrl  string    `json:"url,omitempty"`      //(Image,FlashImage)图片url,发送时可使用网络图片的链接,优先级比ImagePath高;接收时为腾讯图片服务器的链接
	ImagePath string    `json:"path,omitempty"`     //(Image,FlashImage)图片的路径,发送本地图片,相对路径于plugins/MiraiAPIHTTP/images
	Xml       string    `json:"xml,omitempty"`      //(Xml) xml消息本体
	Json      string    `json:"json,omitempty"`     //(Json) json消息本体
	Content   string    `json:"content,omitempty"`  //(App) 不知道干嘛的,mirai也没有说明,估计是小程序连接?
}

type RequestReCall

type RequestReCall struct {
	SessionKey string `json:"sessionKey"`
	Target     uint   `json:"target"`
}

type RequestSendFriendMessage

type RequestSendFriendMessage struct {
	SessionKey   string    `json:"sessionKey"`
	Target       uint      `json:"target"`
	MessageChain []Message `json:"messageChain"`
	Quote        uint      `json:"quote,omitempty"`
}

type RequestSendGroupMessage

type RequestSendGroupMessage struct {
	SessionKey   string    `json:"sessionKey"`
	Target       uint      `json:"target"`
	MessageChain []Message `json:"messageChain"`
	Quote        uint      `json:"quote,omitempty"`
}

type RequestSendImageMessage

type RequestSendImageMessage struct {
	SessionKey   string    `json:"sessionKey"`
	Target       uint      `json:"target,omitempty"`
	QQ           uint      `json:"qq,omitempty"`
	Group        uint      `json:"group,omitempty"`
	MessageChain []Message `json:"messageChain"`
}

type RequestSendTempMessage

type RequestSendTempMessage struct {
	SessionKey   string    `json:"sessionKey"`
	QQ           uint      `json:"qq"`
	Group        uint      `json:"group"`
	MessageChain []Message `json:"messageChain"`
	Quote        uint      `json:"quote,omitempty"`
}

type ResponseEventInvited added in v0.3.1

type ResponseEventInvited struct {
	SessionKey string `json:"sessionKey"`
	EventId    uint64 `json:"eventId"`
	FromId     uint64 `json:"fromId"`
	GroupId    uint64 `json:"groupId"`
	Operate    uint   `json:"operate"` //0接收 1拒绝
	Message    string `json:"message"`
}

type Sender

type Sender struct {
	Id         uint   `json:"id,omitempty"`         //发送者QQ号
	NickName   string `json:"memberName,omitempty"` //(FriendMessage)发送者昵称
	Remark     string `json:"remark,omitempty"`     //(FriendMessage)发送者备注
	MemberName string `json:"memberName,omitempty"` //(GroupMessage)发送者群昵称
	Permission string `json:"permission,omitempty"` //(GroupMessage)发送者在群中的角色
	Group      Group  `json:"group,omitempty"`      //(GroupMessage)消息来源群信息
}

type Session

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

func NewSession

func NewSession(miraiAddr string, authKey string) (*Session, error)

验证你的身份,并创建一个新的会话

func (*Session) GetBindQQ

func (this *Session) GetBindQQ() uint

func (*Session) HandleEventBotInvitedJoinGroupRequest added in v0.3.1

func (this *Session) HandleEventBotInvitedJoinGroupRequest(req ResponseEventInvited) error

func (*Session) HandleEventNewFriendRequest added in v0.3.1

func (this *Session) HandleEventNewFriendRequest(req ResponseEventInvited) error

func (*Session) ReCall

func (this *Session) ReCall(req RequestReCall) error

撤回消息

func (*Session) Release

func (this *Session) Release() error

释放这个Session

func (*Session) SendFriendMessage

func (this *Session) SendFriendMessage(req RequestSendFriendMessage) error

发送好友消息

func (*Session) SendGroupMessage

func (this *Session) SendGroupMessage(req RequestSendGroupMessage) error

发送群消息

func (*Session) SendImageMessage

func (this *Session) SendImageMessage(req RequestSendImageMessage) ([]string, error)

发送图片消息(通过URL)

func (*Session) SendTempMessage

func (this *Session) SendTempMessage(req RequestSendTempMessage) error

发送临时消息

func (*Session) Verify

func (this *Session) Verify(botqq uint) error

校验并激活此会话,并与指定bot绑定

type SessionReq

type SessionReq struct {
	SessionKey string `json:"sessionKey"`
	BotQQ      uint   `json:"qq"`
}

校验(或释放)请求

type UniResp

type UniResp struct {
	Code      uint   `json:"code"`
	Msg       string `json:"msg"`
	MessageId uint   `json:"messageId,omitempty"`
}

统一响应

Jump to

Keyboard shortcuts

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