connector

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2025 License: AGPL-3.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LoginStepQR       = "fi.mau.signal.login.qr"
	LoginStepProcess  = "fi.mau.signal.login.processing"
	LoginStepComplete = "fi.mau.signal.login.complete"
)
View Source
const MaxFileSize = 100 * 1024 * 1024
View Source
const MaxTextLength = 2000
View Source
const NoteToSelfName = "Signal Note to Self"
View Source
const PrivateChatTopic = "Signal private chat"

Variables

View Source
var ExampleConfig string

Functions

This section is empty.

Types

type Bv2ChatEvent

type Bv2ChatEvent struct {
	*events.ChatEvent
	// contains filtered or unexported fields
}

func (*Bv2ChatEvent) AddLogContext

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

func (*Bv2ChatEvent) ConvertEdit

func (evt *Bv2ChatEvent) ConvertEdit(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, existing []*database.Message) (*bridgev2.ConvertedEdit, error)

func (*Bv2ChatEvent) ConvertMessage

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

func (*Bv2ChatEvent) GetChatInfoChange added in v0.6.3

func (evt *Bv2ChatEvent) GetChatInfoChange(ctx context.Context) (*bridgev2.ChatInfoChange, error)

func (*Bv2ChatEvent) GetID

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

func (*Bv2ChatEvent) GetPortalKey

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

func (*Bv2ChatEvent) GetReactionEmoji

func (evt *Bv2ChatEvent) GetReactionEmoji() (string, networkid.EmojiID)

func (*Bv2ChatEvent) GetRemovedEmojiID

func (evt *Bv2ChatEvent) GetRemovedEmojiID() networkid.EmojiID

func (*Bv2ChatEvent) GetSender

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

func (*Bv2ChatEvent) GetStreamOrder added in v0.7.3

func (evt *Bv2ChatEvent) GetStreamOrder() int64

func (*Bv2ChatEvent) GetTargetMessage

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

func (*Bv2ChatEvent) GetTimeout

func (evt *Bv2ChatEvent) GetTimeout() time.Duration

func (*Bv2ChatEvent) GetTimestamp

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

func (*Bv2ChatEvent) GetType

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

func (*Bv2ChatEvent) PreHandle added in v0.6.3

func (evt *Bv2ChatEvent) PreHandle(ctx context.Context, portal *bridgev2.Portal)

func (*Bv2ChatEvent) ShouldCreatePortal

func (evt *Bv2ChatEvent) ShouldCreatePortal() bool

type Bv2Receipt

type Bv2Receipt struct {
	Type   signalpb.ReceiptMessage_Type
	Chat   networkid.PortalKey
	Sender bridgev2.EventSender

	LastTS time.Time
	LastID networkid.MessageID
	IDs    []networkid.MessageID
}

func (*Bv2Receipt) AddLogContext

func (b *Bv2Receipt) AddLogContext(c zerolog.Context) zerolog.Context

func (*Bv2Receipt) GetLastReceiptTarget

func (b *Bv2Receipt) GetLastReceiptTarget() networkid.MessageID

func (*Bv2Receipt) GetPortalKey

func (b *Bv2Receipt) GetPortalKey() networkid.PortalKey

func (*Bv2Receipt) GetReadUpTo added in v0.6.3

func (b *Bv2Receipt) GetReadUpTo() time.Time

func (*Bv2Receipt) GetReceiptTargets

func (b *Bv2Receipt) GetReceiptTargets() []networkid.MessageID

func (*Bv2Receipt) GetSender

func (b *Bv2Receipt) GetSender() bridgev2.EventSender

func (*Bv2Receipt) GetType

func (b *Bv2Receipt) GetType() bridgev2.RemoteEventType

type DisplaynameParams

type DisplaynameParams struct {
	ProfileName string
	ContactName string
	Username    string
	PhoneNumber string
	UUID        string
	ACI         string
	PNI         string
	AboutEmoji  string
}

type QRLogin

type QRLogin struct {
	User *bridgev2.User
	Main *SignalConnector

	ProvChan chan signalmeow.ProvisioningResponse

	ProvData *store.DeviceData
	// contains filtered or unexported fields
}

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)

type SignalClient

type SignalClient struct {
	Main      *SignalConnector
	UserLogin *bridgev2.UserLogin
	Client    *signalmeow.Client
	Ghost     *bridgev2.Ghost
	// contains filtered or unexported fields
}

func (*SignalClient) Connect

func (s *SignalClient) Connect(ctx context.Context)

func (*SignalClient) ConnectBackground added in v0.8.0

func (s *SignalClient) ConnectBackground(ctx context.Context, _ *bridgev2.ConnectBackgroundParams) error

func (*SignalClient) CreateGroup added in v0.6.3

func (s *SignalClient) CreateGroup(ctx context.Context, name string, users ...networkid.UserID) (*bridgev2.CreateChatResponse, error)

func (*SignalClient) Disconnect added in v0.6.3

func (s *SignalClient) Disconnect()

func (*SignalClient) FetchMessages added in v0.8.0

func (*SignalClient) GetCapabilities added in v0.6.3

func (s *SignalClient) GetCapabilities(ctx context.Context, portal *bridgev2.Portal) *event.RoomFeatures

func (*SignalClient) GetChatInfo

func (s *SignalClient) GetChatInfo(ctx context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error)

func (*SignalClient) GetContactList added in v0.6.3

func (s *SignalClient) GetContactList(ctx context.Context) ([]*bridgev2.ResolveIdentifierResponse, error)

func (*SignalClient) GetPushConfigs added in v0.6.3

func (s *SignalClient) GetPushConfigs() *bridgev2.PushConfig

func (*SignalClient) GetUserInfo

func (s *SignalClient) GetUserInfo(ctx context.Context, ghost *bridgev2.Ghost) (*bridgev2.UserInfo, error)

func (*SignalClient) HandleMatrixEdit

func (s *SignalClient) HandleMatrixEdit(ctx context.Context, msg *bridgev2.MatrixEdit) error

func (*SignalClient) HandleMatrixMembership added in v0.7.0

func (s *SignalClient) HandleMatrixMembership(ctx context.Context, msg *bridgev2.MatrixMembershipChange) (bool, error)

func (*SignalClient) HandleMatrixMessage

func (s *SignalClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.MatrixMessage) (message *bridgev2.MatrixMessageResponse, err error)

func (*SignalClient) HandleMatrixMessageRemove

func (s *SignalClient) HandleMatrixMessageRemove(ctx context.Context, msg *bridgev2.MatrixMessageRemove) error

func (*SignalClient) HandleMatrixPowerLevels added in v0.7.1

func (s *SignalClient) HandleMatrixPowerLevels(ctx context.Context, msg *bridgev2.MatrixPowerLevelChange) (bool, error)

func (*SignalClient) HandleMatrixReaction

func (s *SignalClient) HandleMatrixReaction(ctx context.Context, msg *bridgev2.MatrixReaction) (reaction *database.Reaction, err error)

func (*SignalClient) HandleMatrixReactionRemove

func (s *SignalClient) HandleMatrixReactionRemove(ctx context.Context, msg *bridgev2.MatrixReactionRemove) error

func (*SignalClient) HandleMatrixReadReceipt

func (s *SignalClient) HandleMatrixReadReceipt(ctx context.Context, receipt *bridgev2.MatrixReadReceipt) error

func (*SignalClient) HandleMatrixRoomAvatar added in v0.6.3

func (s *SignalClient) HandleMatrixRoomAvatar(ctx context.Context, msg *bridgev2.MatrixRoomAvatar) (bool, error)

func (*SignalClient) HandleMatrixRoomName added in v0.6.3

func (s *SignalClient) HandleMatrixRoomName(ctx context.Context, msg *bridgev2.MatrixRoomName) (bool, error)

func (*SignalClient) HandleMatrixRoomTopic added in v0.6.3

func (s *SignalClient) HandleMatrixRoomTopic(ctx context.Context, msg *bridgev2.MatrixRoomTopic) (bool, error)

func (*SignalClient) HandleMatrixTyping added in v0.6.3

func (s *SignalClient) HandleMatrixTyping(ctx context.Context, typing *bridgev2.MatrixTyping) error

func (*SignalClient) IsLoggedIn

func (s *SignalClient) IsLoggedIn() bool

func (*SignalClient) IsThisUser

func (s *SignalClient) IsThisUser(_ context.Context, userID networkid.UserID) bool

func (*SignalClient) LogoutRemote

func (s *SignalClient) LogoutRemote(ctx context.Context)

func (*SignalClient) PreHandleMatrixReaction

func (*SignalClient) RegisterPushNotifications added in v0.6.3

func (s *SignalClient) RegisterPushNotifications(ctx context.Context, pushType bridgev2.PushType, token string) error

func (*SignalClient) ResolveIdentifier added in v0.6.3

func (s *SignalClient) ResolveIdentifier(ctx context.Context, number string, createChat bool) (*bridgev2.ResolveIdentifierResponse, error)

type SignalConfig

type SignalConfig struct {
	DisplaynameTemplate   string              `yaml:"displayname_template"`
	UseContactAvatars     bool                `yaml:"use_contact_avatars"`
	SyncContactsOnStartup bool                `yaml:"sync_contacts_on_startup"`
	UseOutdatedProfiles   bool                `yaml:"use_outdated_profiles"`
	NumberInTopic         bool                `yaml:"number_in_topic"`
	DeviceName            string              `yaml:"device_name"`
	NoteToSelfAvatar      id.ContentURIString `yaml:"note_to_self_avatar"`
	LocationFormat        string              `yaml:"location_format"`
	DisappearViewOnce     bool                `yaml:"disappear_view_once"`
	// contains filtered or unexported fields
}

func (*SignalConfig) FormatDisplayname

func (c *SignalConfig) FormatDisplayname(contact *types.Recipient) string

type SignalConnector

type SignalConnector struct {
	MsgConv *msgconv.MessageConverter
	Store   *store.Container
	Bridge  *bridgev2.Bridge
	Config  SignalConfig
}

func (*SignalConnector) CreateLogin

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

func (*SignalConnector) GetBridgeInfoVersion added in v0.7.5

func (s *SignalConnector) GetBridgeInfoVersion() (info, capabilities int)

func (*SignalConnector) GetCapabilities added in v0.6.3

func (s *SignalConnector) GetCapabilities() *bridgev2.NetworkGeneralCapabilities

func (*SignalConnector) GetConfig

func (s *SignalConnector) GetConfig() (string, any, up.Upgrader)

func (*SignalConnector) GetDBMetaTypes added in v0.6.3

func (s *SignalConnector) GetDBMetaTypes() database.MetaTypes

func (*SignalConnector) GetLoginFlows

func (s *SignalConnector) GetLoginFlows() []bridgev2.LoginFlow

func (*SignalConnector) GetName

func (s *SignalConnector) GetName() bridgev2.BridgeName

func (*SignalConnector) Init

func (s *SignalConnector) Init(bridge *bridgev2.Bridge)

func (*SignalConnector) LoadUserLogin

func (s *SignalConnector) LoadUserLogin(ctx context.Context, login *bridgev2.UserLogin) error

func (*SignalConnector) SetMaxFileSize

func (s *SignalConnector) SetMaxFileSize(maxSize int64)

func (*SignalConnector) Start

func (s *SignalConnector) Start(ctx context.Context) error

func (*SignalConnector) ValidateUserID added in v0.7.0

func (s *SignalConnector) ValidateUserID(id networkid.UserID) bool

Jump to

Keyboard shortcuts

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