domain

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const DELETED_LINK = "DELETED_LINK"

DELETED_LINK константа для замены внешней ссылки

Variables

This section is empty.

Functions

This section is empty.

Types

type ChatId

type ChatId = int64

ChatId идентификатор чата

type Destination

type Destination struct {
	// Id идентификатор чата-получателя - обогощаем при загрузке
	ChatId ChatId
	// ReplaceMyselfLinks настройки для замены ссылок на текущего бота
	ReplaceMyselfLinks *ReplaceMyselfLinks
	// ReplaceFragments настройки для замены фрагментов текста
	ReplaceFragments []*ReplaceFragment
}

type EngineConfig

type EngineConfig struct {
	// Настройки источников
	Sources map[ChatId]*Source
	// Настройки получателей
	Destinations map[ChatId]*Destination
	// Правила форвардинга
	ForwardRules map[ForwardRuleId]*ForwardRule
	// Уникальные источники
	UniqueSources map[ChatId]struct{} `mapstructure:"-"`
	// Уникальные получатели
	UniqueDestinations map[ChatId]struct{} `mapstructure:"-"`
	// Порядок форвардинга
	OrderedForwardRules []ForwardRuleId `mapstructure:"-"`
}

Настройки движка форвардинга

type FiltersMode

type FiltersMode = string
const (
	FiltersOK    FiltersMode = "ok"
	FiltersCheck FiltersMode = "check"
	FiltersOther FiltersMode = "other"
)

type ForwardRule

type ForwardRule struct {
	// Id уникальный идентификатор правила - обогощаем при загрузке
	Id ForwardRuleId
	// From идентификатор чата-источника
	From ChatId
	// To список идентификаторов чатов-получателей
	To []ChatId
	// SendCopy если true, то отправляет копию сообщения вместо пересылки
	SendCopy bool
	// CopyOnce если true, то сообщение копируется однократно без синхронизации при редактировании
	CopyOnce bool
	// Indelible если true, то сообщение не удаляется при удалении оригинала
	Indelible bool
	// Exclude регулярное выражение для исключения сообщений
	Exclude string
	// Include регулярное выражение для включения сообщений
	Include string
	// IncludeSubmatch правила для подстрок в сообщениях
	IncludeSubmatch []*SubmatchRule
	// Other идентификатор чата для отправки сообщений, которые прошли включающий фильтр
	Other ChatId
	// Check идентификатор чата для отправки сообщений, которые прошли исключающий фильтр
	Check ChatId
}

ForwardRule представляет правило пересылки сообщений

type ForwardRuleId

type ForwardRuleId = string
type Link struct {
	// Title текст ссылки (с поддержкой разметки)
	Title string
	// For список идентификаторов чатов, для которых применяется ссылка
	For []ChatId
}

Link представляет настройки ссылки на источник сообщений

type LogSource

type LogSource struct {
	RelativePath bool
}

Настройки источника стека вызовов при логировании

type MediaAlbumKey

type MediaAlbumKey = string

MediaAlbumKey ключ для пересылаемого медиа-альбома

type ReplaceFragment

type ReplaceFragment struct {
	// From исходный текст
	From string
	// To текст для замены
	To string
}

ReplaceFragment представляет настройки для замены фрагмента текста

type ReplaceMyselfLinks struct {
	// Run если true, то замена ссылок включена
	Run bool
	// DeleteExternal если true, то внешние ссылки удаляются
	DeleteExternal bool
	// DeletedLinkText текст для замены внешней ссылки
	DeletedLinkText string
}

ReplaceMyselfLinks настройки для замены ссылок на текущего бота

type Sign

type Sign struct {
	// Title текст подписи (с поддержкой разметки)
	Title string
	// For список идентификаторов чатов, для которых применяется подпись
	For []ChatId
}

Sign представляет настройки подписи для сообщений

type Source

type Source struct {
	// Id идентификатор чата-источника - обогощаем при загрузке
	ChatId ChatId
	// Sign настройки подписи для сообщений из этого источника
	Sign *Sign
	// Link настройки ссылки на источник
	Link *Link
	// AutoAnswer настройки автоматического ответа
	AutoAnswer bool
	// DeleteSystemMessages настройки удаления системных сообщений
	DeleteSystemMessages bool
}

Source представляет настройки источника сообщений

type SubmatchRule

type SubmatchRule struct {
	// Regexp регулярное выражение для поиска подстрок
	Regexp string
	// CompiledRegexp скомпилированное регулярное выражение
	CompiledRegexp *regexp.Regexp
	// Group номер группы в регулярном выражении для сравнения
	Group int
	// Match список строк для сравнения с подстрокой
	Match []string
}

SubmatchRule представляет правило для работы с подстроками в сообщениях

Jump to

Keyboard shortcuts

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