gomirai

package module
v0.2.1-snap.0...-e1d2b68 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2020 License: AGPL-3.0 Imports: 13 Imported by: 0

README

Go-Mirai

Go ReportGitHub top languageGitHubGitHub go.mod Go versionGitHub contributors

适配MiraiHttpApi的Go SDK

已完成所有基本功能

已完成所有基础功能,但随着日后更新及优化,目前API仍有可能发生变化

目前工作

为使用者提供更加方便的事件处理函数

如何使用

请参照example

所有导出函数、变量、结构均有详细注释

不了解Go?

(安利狂魔) Go急速入门

目前问题

暂无

仍未实现

  • websocket
  • 上报
  • 心跳

维护者

Logiase

许可证

AGPL-3.0 © Logiase

Documentation

Index

Constants

View Source
const (
	// OperateAgree 同意入群
	OperateAgree = iota
	// OperateRefuse 拒绝入群
	OperateRefuse
	// OperateIgnore 忽略请求
	OperateIgnore
	// OperateRefuseBan 拒绝入群并添加黑名单,(腾讯)不再接收该用户的入群申请
	OperateRefuseBan
	// OperateIgnoreBan 忽略入群并添加黑名单,(腾讯)不再接收该用户的入群申请
	OperateIgnoreBan
)

Variables

This section is empty.

Functions

func SendFriendMessageWithBot

func SendFriendMessageWithBot(b *Bot, group, quote int64, msg ...message.Message) (int64, error)

SendFriendMessageWithBot 发送好友消息

func SendGroupMessageWithBot

func SendGroupMessageWithBot(b *Bot, qq, quote int64, msg ...message.Message) (int64, error)

SendGroupMessageWithBot 发送群消息

Types

type Bot

type Bot struct {
	QQ         int64
	SessionKey string
	Client     *Client
	Logger     *logrus.Entry

	Chan    chan message.ComplexEvent
	Friends []message.Friend
	Groups  []message.Group
	// contains filtered or unexported fields
}

Bot 对应一个机器人账号 进行所有对账号相关操作

func (*Bot) FetchMessages

func (b *Bot) FetchMessages() error

FetchMessages 获取消息

func (*Bot) FriendList

func (b *Bot) FriendList() error

FriendList 使用此方法获取bot的好友列表

func (*Bot) GetGroupConfig

func (b *Bot) GetGroupConfig(target int64) (message.GroupConfig, error)

GetGroupConfig 使用此方法获取群设置

func (*Bot) GetMemberInfo

func (b *Bot) GetMemberInfo(target, memberID int64) (message.MemberInfo, error)

GetMemberInfo 使用此方法获取群员资料

func (*Bot) GroupConfig

func (b *Bot) GroupConfig(target int64, config message.GroupConfig) error

GroupConfig 使用此方法修改群设置(需要有相关限权)

func (*Bot) GroupList

func (b *Bot) GroupList() error

GroupList 使用此方法获取bot的群列表

func (*Bot) Kick

func (b *Bot) Kick(target, memberID int64, msg string) error

Kick 使用此方法移除指定群成员(需要有相关限权)

func (*Bot) MemberInfo

func (b *Bot) MemberInfo(target, memberID int64, info message.MemberInfo) error

MemberInfo 使用此方法修改群员资料(需要有相关限权)

func (*Bot) MemberList

func (b *Bot) MemberList(target int64) ([]message.Sender, error)

MemberList 使用此方法获取bot指定群种的成员列表

func (*Bot) Mute

func (b *Bot) Mute(target, memberID, time int64) error

Mute 使用此方法指定群禁言指定群员(需要有相关限权)

func (*Bot) MuteAll

func (b *Bot) MuteAll(target int64) error

MuteAll 使用此方法令指定群进行全体禁言(需要有相关限权)

func (*Bot) Quit

func (b *Bot) Quit(target int64) error

Quit 使用此方法使Bot退出群聊

func (*Bot) Recall

func (b *Bot) Recall(target int64) error

Recall 使用此方法撤回指定消息 对于bot发送的消息,有2分钟时间限制。对于撤回群聊中群员的消息,需要有相应权限 target 消息id

func (*Bot) RespondMemberJoinRequest

func (b *Bot) RespondMemberJoinRequest(eventID, fromID, groupID int64, operate int, message string) error

RespondMemberJoinRequest 响应用户加群请求 operate 说明 0 同意入群 1 拒绝入群 2 忽略请求 3 拒绝入群并添加黑名单,不再接收该用户的入群申请 4 忽略入群并添加黑名单,不再接收该用户的入群申请

func (*Bot) Run

func (b *Bot) Run()

Run 使用 eventHandler 进行事件相应 与使用 FetchMessage 方法有所冲突 未实装

func (*Bot) SendFriendMessage

func (b *Bot) SendFriendMessage(qq, quote int64, msg ...message.Message) (int64, error)

SendFriendMessage 使用此方法向指定好友发送消息 qq 好友qq quote 引用消息id 0为不引用 msg 消息内容

func (*Bot) SendGroupMessage

func (b *Bot) SendGroupMessage(group, quote int64, msg ...message.Message) (int64, error)

SendGroupMessage 使用此方法向指定群发送消息 group 群qq quote 引用消息id 0为不引用 msg 消息内容

func (*Bot) SendImageMessage

func (b *Bot) SendImageMessage(qq, group int64, urls ...string) (imageIds []string, err error)

SendImageMessage 使用此方法向指定对象(群或好友)发送图片消息 除非需要通过此手段获取imageId,否则不推荐使用该接口 请保证 qq group 不同时有值

func (*Bot) SendTempMessage

func (b *Bot) SendTempMessage(group, qq int64, msg ...message.Message) (int64, error)

SendTempMessage 使用此方法向临时会话对象发送消息 qq 好友qq group 群qq msg 消息内容

func (*Bot) SetChannel

func (b *Bot) SetChannel(time time.Duration, size int)

SetChannel Channel相关设置

func (*Bot) UnMute

func (b *Bot) UnMute(target, memberID int64) error

UnMute 使用此方法指定群解除群成员禁言(需要有相关限权)

func (*Bot) UnMuteAll

func (b *Bot) UnMuteAll(target int64) error

UnMuteAll 使用此方法令指定群解除全体禁言(需要有相关限权)

func (*Bot) UploadImage

func (b *Bot) UploadImage(t string, imgFilepath string) (string, error)

UploadImage 使用此方法上传图片文件至服务器并返回ImageId

func (*Bot) UseHandler

func (b *Bot) UseHandler(handler EventHandler)

UseHandler 使用选定的 EventHandler 进行事件响应 未实装

type Client

type Client struct {
	Name       string
	AuthKey    string
	HTTPClient *gentleman.Client
	Bots       map[int64]*Bot
	Logger     *logrus.Entry
}

Client 与Mirai进行沟通

func NewClient

func NewClient(name, url, authKey string, logger ...*logrus.Entry) *Client

NewClient 新建Client

func (*Client) About

func (c *Client) About() (string, error)

About 使用此方法获取插件的信息,如版本号

func (*Client) Auth

func (c *Client) Auth() (string, error)

Auth 使用此方法验证你的身份,并返回一个会话

func (*Client) Release

func (c *Client) Release(qq int64) error

Release 使用此方式释放session及其相关资源(Bot不会被释放) 不使用的Session应当被释放,长时间(30分钟)未使用的Session将自动释放,否则Session持续保存Bot收到的消息,将会导致内存泄露(开启websocket后将不会自动释放)

func (*Client) Verify

func (c *Client) Verify(qq int64, sessionKey string) (*Bot, error)

Verify 使用此方法校验并激活你的Session,同时将Session与一个已登录的Bot绑定

type EventHandler

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

EventHandler -

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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