connector

package
v0.0.0-...-69ec39e Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2025 License: AGPL-3.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LoginStepQR       = "me.lxduo.qq.login.qr"
	LoginStepComplete = "me.lxduo.qq.login.complete"
)
View Source
const MaxFileSize = 128 * 1024 * 1024
View Source
const MaxImageSize = 128 * 1024 * 1024
View Source
const MaxTextLength = 4096
View Source
const (
	PrivateChatTopic = "QQ private chat"
)

Variables

View Source
var ExampleConfig string

Functions

This section is empty.

Types

type Config

type Config struct {
	DisplaynameTemplate string `yaml:"displayname_template"`

	SignServers []string `yaml:"sign_servers"`

	Reconnect struct {
		Delay    uint `yaml:"delay"`
		MaxTimes uint `yaml:"max_times"`
		Interval uint `yaml:"interval"`
	} `yaml:"reconnect"`
	// contains filtered or unexported fields
}

func (*Config) FormatDisplayname

func (c *Config) FormatDisplayname(params DisplaynameParams) string

func (*Config) PostProcess

func (c *Config) PostProcess() error

func (*Config) UnmarshalYAML

func (c *Config) UnmarshalYAML(node *yaml.Node) error

type DisplaynameParams

type DisplaynameParams struct {
	Alias string
	Name  string
	ID    string
}

type QQClient

type QQClient struct {
	Main      *QQConnector
	UserLogin *bridgev2.UserLogin
	Client    *client.QQClient
	// contains filtered or unexported fields
}

func (*QQClient) Connect

func (qc *QQClient) Connect(ctx context.Context)

func (*QQClient) Disconnect

func (qc *QQClient) Disconnect()

func (*QQClient) EnqueueGhostResync

func (qc *QQClient) EnqueueGhostResync(ghost *bridgev2.Ghost)

func (*QQClient) EnqueuePortalResync

func (qc *QQClient) EnqueuePortalResync(portal *bridgev2.Portal)

func (*QQClient) GetCapabilities

func (qc *QQClient) GetCapabilities(ctx context.Context, portal *bridgev2.Portal) *event.RoomFeatures

func (*QQClient) GetChatInfo

func (qc *QQClient) GetChatInfo(ctx context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error)

func (*QQClient) GetUserInfo

func (qc *QQClient) GetUserInfo(ctx context.Context, ghost *bridgev2.Ghost) (*bridgev2.UserInfo, error)

func (*QQClient) HandleMatrixMessage

func (qc *QQClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.MatrixMessage) (*bridgev2.MatrixMessageResponse, error)

func (*QQClient) IsLoggedIn

func (qc *QQClient) IsLoggedIn() bool

func (*QQClient) IsThisUser

func (qc *QQClient) IsThisUser(ctx context.Context, userID networkid.UserID) bool

func (*QQClient) LogoutRemote

func (qc *QQClient) LogoutRemote(ctx context.Context)

func (*QQClient) ResolveIdentifier

func (qc *QQClient) ResolveIdentifier(ctx context.Context, identifier string, createChat bool) (*bridgev2.ResolveIdentifierResponse, error)

type QQConnector

type QQConnector struct {
	Bridge  *bridgev2.Bridge
	Config  Config
	MsgConv *msgconv.MessageConverter
}

func (*QQConnector) CreateLogin

func (qc *QQConnector) CreateLogin(ctx context.Context, user *bridgev2.User, flowID string) (bridgev2.LoginProcess, error)

func (*QQConnector) GetBridgeInfoVersion

func (qc *QQConnector) GetBridgeInfoVersion() (info, caps int)

func (*QQConnector) GetCapabilities

func (qc *QQConnector) GetCapabilities() *bridgev2.NetworkGeneralCapabilities

func (*QQConnector) GetConfig

func (qc *QQConnector) GetConfig() (example string, data any, upgrader up.Upgrader)

func (*QQConnector) GetDBMetaTypes

func (qc *QQConnector) GetDBMetaTypes() database.MetaTypes

func (*QQConnector) GetLoginFlows

func (qc *QQConnector) GetLoginFlows() []bridgev2.LoginFlow

func (*QQConnector) GetName

func (qc *QQConnector) GetName() bridgev2.BridgeName

func (*QQConnector) Init

func (qc *QQConnector) Init(bridge *bridgev2.Bridge)

func (*QQConnector) LoadUserLogin

func (qc *QQConnector) LoadUserLogin(ctx context.Context, login *bridgev2.UserLogin) error

func (*QQConnector) SetMaxFileSize

func (qc *QQConnector) SetMaxFileSize(maxSize int64)

func (*QQConnector) Start

func (qc *QQConnector) Start(ctx context.Context) error

func (*QQConnector) Stop

func (qc *QQConnector) Stop()

type QQMessageEvent

type QQMessageEvent struct {
	Message *qqid.Message
	// contains filtered or unexported fields
}

func (*QQMessageEvent) AddLogContext

func (evt *QQMessageEvent) AddLogContext(c zerolog.Context) zerolog.Context

func (*QQMessageEvent) ConvertMessage

func (evt *QQMessageEvent) ConvertMessage(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI) (*bridgev2.ConvertedMessage, error)

func (*QQMessageEvent) GetChatInfo

func (evt *QQMessageEvent) GetChatInfo(ctx context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error)

func (*QQMessageEvent) GetID

func (evt *QQMessageEvent) GetID() networkid.MessageID

func (*QQMessageEvent) GetPortalKey

func (evt *QQMessageEvent) GetPortalKey() networkid.PortalKey

func (*QQMessageEvent) GetSender

func (evt *QQMessageEvent) GetSender() bridgev2.EventSender

func (*QQMessageEvent) GetTargetMessage

func (evt *QQMessageEvent) GetTargetMessage() networkid.MessageID

func (*QQMessageEvent) GetTimestamp

func (evt *QQMessageEvent) GetTimestamp() time.Time

func (*QQMessageEvent) GetType

func (evt *QQMessageEvent) GetType() bridgev2.RemoteEventType

func (*QQMessageEvent) PostHandle

func (evt *QQMessageEvent) PostHandle(ctx context.Context, portal *bridgev2.Portal)

func (*QQMessageEvent) ShouldCreatePortal

func (evt *QQMessageEvent) ShouldCreatePortal() bool

type QRLogin

type QRLogin struct {
	User   *bridgev2.User
	Main   *QQConnector
	Client *client.QQClient
	Log    zerolog.Logger
}

func (*QRLogin) Cancel

func (qr *QRLogin) Cancel()

func (*QRLogin) Start

func (qr *QRLogin) Start(ctx context.Context) (*bridgev2.LoginStep, error)

func (*QRLogin) Wait

func (qr *QRLogin) Wait(ctx context.Context) (*bridgev2.LoginStep, error)

Jump to

Keyboard shortcuts

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