serverlist

package
v0.0.0-...-8101777 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2022 License: AGPL-3.0-or-later Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Category

type Category struct {
	gorm.Model
	Keywords  pq.StringArray `gorm:"type:varchar[]"`
	BotID     string
	GuildID   string
	ChannelID string
	AddedBy   string
	SortBy    pq.StringArray `gorm:"type:varchar[]"`
	GroupBy   GroupBy
}

func (*Category) TableName

func (*Category) TableName() string

type ChannelServersToPost

type ChannelServersToPost struct {
	ChannelID string
	Servers   []*ServerToPost
	Category  *Category
	SortBy    []SortBy
}

type GroupBy

type GroupBy string
const (
	GroupByAlphabet GroupBy = "alphabetical"
)

func (*GroupBy) ChannelName

func (g *GroupBy) ChannelName(serverName string) string

type Plugin

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

func (*Plugin) Action

func (p *Plugin) Action(event *events.Event) bool

func (*Plugin) Help

func (p *Plugin) Help() *common.PluginHelp

func (*Plugin) Names

func (p *Plugin) Names() []string

func (*Plugin) Passthrough

func (p *Plugin) Passthrough() bool

func (*Plugin) Priority

func (p *Plugin) Priority() int

func (*Plugin) Start

func (p *Plugin) Start(params common.StartParameters) error

func (*Plugin) Stop

func (p *Plugin) Stop(params common.StopParameters) error

type QueueMessage

type QueueMessage struct {
	CurrentServerID uint
	MessageID       string
	Embed           *discordgo.MessageEmbed
}

type Server

type Server struct {
	gorm.Model
	Names         pq.StringArray `gorm:"type:varchar[]"`
	Description   string
	InviteCode    string
	GuildID       string
	EditorUserIDs pq.StringArray `gorm:"type:varchar[]"`
	Categories    []ServerCategory
	TotalMembers  int
	State         State
	Reason        string
	LastChecked   time.Time
	BotID         string
	Change        ServerChange `gorm:"embedded;embedded_prefix:change_"`
}

func (*Server) ApplyChange

func (s *Server) ApplyChange(p *Plugin, change ServerChange) error

func (*Server) Censor

func (s *Server) Censor(p *Plugin, reason string) error

func (*Server) Edit

func (s *Server) Edit(p *Plugin, changes ServerChange) error

func (*Server) Hide

func (s *Server) Hide(p *Plugin) error

func (*Server) QueueApprove

func (s *Server) QueueApprove(p *Plugin) error

func (*Server) QueueReject

func (s *Server) QueueReject(p *Plugin, reason string) error

func (*Server) Remove

func (s *Server) Remove(p *Plugin, editor bool) error

func (*Server) TableName

func (*Server) TableName() string

func (*Server) Uncensor

func (s *Server) Uncensor(p *Plugin) error

func (*Server) Unhide

func (s *Server) Unhide(p *Plugin) error

func (*Server) Update

func (s *Server) Update(p *Plugin, update Server) error

type ServerCategory

type ServerCategory struct {
	gorm.Model
	ServerID   uint
	CategoryID uint
	Category   Category
}

func (*ServerCategory) TableName

func (*ServerCategory) TableName() string

type ServerChange

type ServerChange struct {
	Names       pq.StringArray `gorm:"type:varchar[]"`
	Description string
	InviteCode  string
	Categories  pq.Int64Array `gorm:"type:integer[]"` // TODO: uint array
	State       State
}

type ServerToPost

type ServerToPost struct {
	Server   *Server
	Name     string
	SortName string
}

type ServersSorter

type ServersSorter struct {
	SortBy  []SortBy
	Servers []*ServerToPost
}

func (ServersSorter) Len

func (s ServersSorter) Len() int

func (ServersSorter) Less

func (s ServersSorter) Less(i, j int) bool

func (ServersSorter) Swap

func (s ServersSorter) Swap(i, j int)

type SortBy

type SortBy string
const (
	SortByAlphabetical SortBy = "alphabetical"
	SortByAddingDate   SortBy = "adding_date"
	SortByMemberCount  SortBy = "member_count"
)

type State

type State string
const (
	StateQueued   State = "queued"
	StatePublic   State = "public"
	StateExpired  State = "expired"
	StateHidden   State = "hidden"
	StateCensored State = "censored" // TODO
)

Jump to

Keyboard shortcuts

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