lagrange

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2025 License: GPL-3.0 Imports: 21 Imported by: 0

README

pkg/lagrange

用于 Jel1ySpot/GoroBot 的基于 LagrangeDev/LagrangeGo 的 QQNT Protocol 适配器

快速开始

  1. 载入包
    • import "github.com/Jel1ySpot/GoroBot/pkg/lagrange"
  2. 创建实例并使用
    • lgr := lagrange.Create(); grb.Use(lgr)
  3. 填写配置文件
  4. 登录
填写配置文件

首次运行后,会在 conf/lagrange 目录下创建空配置文件。 配置示例:

{
  "account": {
    "password": "暂不支持密码登录,可以留空",
    "sig_path": "./sig.bin",
    "uin": 1919810
  },
  "app_info": "linux 3.2.15-30366",
  "command_prefix": "/",
  "ignore_self": true,
  "music_sign_server_url": "",
  "sign_server_url": "sign_url需要与上面app_info的版本号对应"
}
登录

默认使用二维码登录。启动程序后如果配置文件无误,会在控制台输出一个链接。打开链接使用手机QQ扫描二维码即可登录。

Documentation

Index

Constants

View Source
const (
	DefaultConfigPath = "conf/lagrange/"
)

Variables

This section is empty.

Functions

func CheckMessageType

func CheckMessageType(msg any) botc.MessageType

func GenGroupID

func GenGroupID(uin uint32) string

func GenMsgSeqID

func GenMsgSeqID(uin uint32) string

func GenUserID

func GenUserID(uin uint32) string

func ParseElementsFromEvent

func ParseElementsFromEvent(service *Service, msgEvent any) []*botc.MessageElement

func ParseMessageEvent

func ParseMessageEvent(service *Service, msgEvent any) (*botc.BaseMessage, error)

func ParseUin

func ParseUin(str string) (uint32, bool)

func ReplyElementToMessage

func ReplyElementToMessage(service *Service, elem *LgrMessage.ReplyElement) *botc.BaseMessage

func SenderConv

func SenderConv(u *LgrMessage.Sender, group *LgrMessage.GroupMessage) *entity.Sender

func TranslateMessageElement

func TranslateMessageElement(service *Service, elements []*botc.MessageElement) []LgrMessage.IMessageElement

Types

type Account

type Account struct {
	Uin      uint32 `json:"uin"`
	Password string `json:"password"`
	SigPath  string `json:"sig_path"`
}

type Config

type Config struct {
	AppInfo            string  `json:"app_info"`
	SignServerUrl      string  `json:"sign_server_url"`
	MusicSignServerUrl string  `json:"music_sign_server_url"`
	CommandPrefix      string  `json:"command_prefix"`
	Account            Account `json:"account"`
	IgnoreSelf         bool    `json:"ignore_self"`
}

type Context

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

func (*Context) Contacts

func (ctx *Context) Contacts() []entity.User

func (*Context) GetMessageFileUrl

func (ctx *Context) GetMessageFileUrl(msg *botc.BaseMessage) (string, error)

func (*Context) Groups

func (ctx *Context) Groups() []entity.Group

func (*Context) ID

func (ctx *Context) ID() string

func (*Context) Name

func (ctx *Context) Name() string

func (*Context) NewMessageBuilder

func (ctx *Context) NewMessageBuilder() botc.MessageBuilder

func (*Context) Protocol

func (ctx *Context) Protocol() string

func (*Context) SendDirectMessage

func (ctx *Context) SendDirectMessage(target entity.User, elements []*botc.MessageElement) (*botc.BaseMessage, error)

func (*Context) SendGroupMessage

func (ctx *Context) SendGroupMessage(target entity.Group, elements []*botc.MessageElement) (*botc.BaseMessage, error)

func (*Context) Status

func (ctx *Context) Status() botc.LoginStatus

type MessageBuilder

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

func (*MessageBuilder) Build

func (*MessageBuilder) File

func (b *MessageBuilder) File(path string, name ...string) botc.MessageBuilder

func (*MessageBuilder) Image

func (b *MessageBuilder) Image(path string, data []byte, isSticker bool, summary ...string) botc.MessageBuilder

func (*MessageBuilder) ImageFromData

func (b *MessageBuilder) ImageFromData(data []byte) botc.MessageBuilder

func (*MessageBuilder) ImageFromFile

func (b *MessageBuilder) ImageFromFile(path string) botc.MessageBuilder

func (*MessageBuilder) ImageFromUrl

func (b *MessageBuilder) ImageFromUrl(url string) botc.MessageBuilder

func (*MessageBuilder) Mention

func (b *MessageBuilder) Mention(id string) botc.MessageBuilder

func (*MessageBuilder) Protocol

func (b *MessageBuilder) Protocol() string

func (*MessageBuilder) Quote

func (*MessageBuilder) ReplyTo

func (*MessageBuilder) Send

func (b *MessageBuilder) Send(id string) (*botc.BaseMessage, error)

func (*MessageBuilder) Sticker

func (b *MessageBuilder) Sticker(sid string) botc.MessageBuilder

func (*MessageBuilder) Text

func (b *MessageBuilder) Text(text string) botc.MessageBuilder

func (*MessageBuilder) VideoFromFile

func (b *MessageBuilder) VideoFromFile(path string) botc.MessageBuilder

func (*MessageBuilder) Voice

func (b *MessageBuilder) Voice(path string) botc.MessageBuilder

type MessageContext

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

func NewMessageContext

func NewMessageContext(msg any, service *Service) *MessageContext

func (*MessageContext) BotContext

func (m *MessageContext) BotContext() botc.BotContext

func (*MessageContext) GroupUin

func (m *MessageContext) GroupUin() uint32

func (*MessageContext) Message

func (m *MessageContext) Message() *botc.BaseMessage

func (*MessageContext) NewMessageBuilder

func (m *MessageContext) NewMessageBuilder() botc.MessageBuilder

func (*MessageContext) OriginalElements

func (m *MessageContext) OriginalElements() []LgrMessage.IMessageElement

func (*MessageContext) Protocol

func (m *MessageContext) Protocol() string

func (*MessageContext) Reply

func (m *MessageContext) Reply(msg []*botc.MessageElement) (*botc.BaseMessage, error)

func (*MessageContext) ReplyText

func (m *MessageContext) ReplyText(a ...any) (*botc.BaseMessage, error)

func (*MessageContext) Sender

func (m *MessageContext) Sender() *LgrMessage.Sender

func (*MessageContext) SenderID

func (m *MessageContext) SenderID() string

func (*MessageContext) String

func (m *MessageContext) String() string

type Service

type Service struct {
	ConfigPath string
	// contains filtered or unexported fields
}

func Create

func Create() *Service

func (*Service) Init

func (s *Service) Init(grb *GoroBot.Instant) error

func (*Service) InitConic

func (s *Service) InitConic() error

func (*Service) Name

func (s *Service) Name() string

func (*Service) Release

func (s *Service) Release(grb *GoroBot.Instant) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳