livechathandler

package module
v0.0.0-...-50b8ace Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2020 License: MIT Imports: 6 Imported by: 0

README

livechathandler

livechathandler makes using youtubeLiveChat easy.

example

	handler, err := livechathandler.New("video-id")
	if err != nil {
		return err
	}

	handler.Polling(context.Background(), livechathandler.MessageHandlerFunc(
		func(message *youtube.LiveChatMessage) {
			// do something
			fmt.Println(message.Snippet.DisplayMessage)
		}))

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IntervalHandler

type IntervalHandler interface {
	IntervalHandle(pollingIntervalMillis int64)
}

type IntervalHandlerFunc

type IntervalHandlerFunc func(pollingIntervalMillis int64)

func (IntervalHandlerFunc) IntervalHandle

func (f IntervalHandlerFunc) IntervalHandle(pollingIntervalMillis int64)

type LiveChatHandler

type LiveChatHandler struct {
	MessageHandler
	IntervalHandler
	// contains filtered or unexported fields
}

func New

func New(videoID string, options ...Option) (*LiveChatHandler, error)

func (*LiveChatHandler) Polling

func (lh *LiveChatHandler) Polling(ctx context.Context, handler MessageHandler) error

type MemberMessageHandler

type MemberMessageHandler interface {
	MemberMessageHandle(userName, messageText string)
}

type MemberMessageHandlerFunc

type MemberMessageHandlerFunc func(userName, messageText string)

func (MemberMessageHandlerFunc) MemberMessageHandle

func (f MemberMessageHandlerFunc) MemberMessageHandle(userName, messageText string)

type MessageHandler

type MessageHandler interface {
	MessageHandle(message *youtube.LiveChatMessage)
}

func NewMessageHandler

func NewMessageHandler(simpleHandler SimpleMessageHandler, memberHandler MemberMessageHandler, superChatHandler SuperChatHandler) MessageHandler

type MessageHandlerFunc

type MessageHandlerFunc func(message *youtube.LiveChatMessage)

func (MessageHandlerFunc) MessageHandle

func (f MessageHandlerFunc) MessageHandle(message *youtube.LiveChatMessage)

type Option

type Option interface {
	Apply(handler *LiveChatHandler)
}

func WithInterval

func WithInterval(interval int) Option

func WithIntervalHandler

func WithIntervalHandler(intervalHandler IntervalHandler) Option

type OptionFunc

type OptionFunc func(handler *LiveChatHandler)

func (OptionFunc) Apply

func (f OptionFunc) Apply(handler *LiveChatHandler)

type SimpleMessageHandler

type SimpleMessageHandler interface {
	SimpleMessageHandle(messageText string)
}

type SimpleMessageHandlerFunc

type SimpleMessageHandlerFunc func(messageText string)

func (SimpleMessageHandlerFunc) SimpleMessageHandle

func (f SimpleMessageHandlerFunc) SimpleMessageHandle(messageText string)

type SuperChatHandler

type SuperChatHandler interface {
	SuperChatHandle(tier SuperChatTier, userName, messageText string)
}

type SuperChatHandlerFunc

type SuperChatHandlerFunc func(tier SuperChatTier, userName, messageText string)

func (SuperChatHandlerFunc) SuperChatHandle

func (f SuperChatHandlerFunc) SuperChatHandle(tier SuperChatTier, userName, messageText string)

type SuperChatTier

type SuperChatTier int64
const (

	// $1.00 - $1.99
	Tier1 SuperChatTier = iota + 1
	// $2.00 - $4.99
	Tier2
	// $5.00 - $9.99
	Tier3
	// $10.00 - $19.99
	Tier4
	// $20.00 - $49.99
	Tier5
	// $50.00 - $99.99
	Tier6
	// $100.00 - $199.99
	Tier7
	// $200.00 - $299.99
	Tier8
	// $300.00 - $399.99
	Tier9
	// $400.00 - $499.99
	Tier10
	// $500.00
	Tier11
)

func (SuperChatTier) Color

func (t SuperChatTier) Color() string

func (SuperChatTier) Ticker

func (t SuperChatTier) Ticker() time.Duration

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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