call

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: May 24, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Call

type Call struct {
	Locale      discord.Locale
	Font        *truetype.Font
	Rule        rule.Rule
	ChannelID   snowflake.ID
	ChannelName string
	Start       time.Time
	End         time.Time
	Members     []*Member
	MemberMap   map[snowflake.ID]*Member
	Onlines     int
}

func New

func New(locale discord.Locale, rule rule.Rule, channel discord.Channel, font *truetype.Font) *Call

func (*Call) EndedEmbed

func (c *Call) EndedEmbed() discord.Embed

func (*Call) GenerateTimeline

func (c *Call) GenerateTimeline(rest rest.Rest, now time.Time, frame time.Time, opts ...GenerateOptions) (*discord.File, error)

func (*Call) OnEnd

func (c *Call) OnEnd(now time.Time)

func (*Call) OnStart

func (c *Call) OnStart(now time.Time)

func (*Call) OngoingEmbed

func (c *Call) OngoingEmbed(now time.Time) discord.Embed

type GenerateOptions

type GenerateOptions func(b *timeline.TimelineBuilder)

func WithIndicator

func WithIndicator(indicator time.Time) GenerateOptions

type Handler

type Handler interface {
	RegisterMember(userID snowflake.ID, member *discord.Member)
	IsRegistered(userID snowflake.ID) bool
	MemberJoin(userID snowflake.ID, now time.Time, mute, deaf bool)
	MemberUpdate(userID snowflake.ID, now time.Time, mute, deaf bool)
	MemberLeave(userID snowflake.ID, now time.Time) (isEmpty bool)
	MemberStartStreaming(userID snowflake.ID, time time.Time)
	MemberStopStreaming(userID snowflake.ID, time time.Time)

	Update() error
	Close(t time.Time) error

	IsClosed() bool
}

handler helps to update the call status

func NewHandler

func NewHandler(call *Call, rest rest.Rest, now time.Time) (Handler, error)

type Manager

type Manager interface {
	Add(call *Call, now time.Time) (Handler, error)
	Remove(channelID snowflake.ID)
	Get(channelID snowflake.ID) (Handler, bool)
}

Manager is used for managing ongoing calls

func NewManager

func NewManager(rest rest.Rest) Manager

NewManager creates a new Manager

type Member

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

func NewMember

func NewMember(userID snowflake.ID, name string) *Member

func (*Member) HasStreamed

func (m *Member) HasStreamed() bool

func (*Member) MarkAsOnline

func (m *Member) MarkAsOnline(now time.Time, muted, deaf bool)

func (*Member) MarkAsStreaming

func (m *Member) MarkAsStreaming(now time.Time)

func (*Member) UnmarkAsOnline

func (m *Member) UnmarkAsOnline(now time.Time)

func (*Member) UnmarkAsStreaming

func (m *Member) UnmarkAsStreaming(now time.Time)

func (*Member) UpdateStatus

func (m *Member) UpdateStatus(now time.Time, muted, deaf bool)

Jump to

Keyboard shortcuts

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