Versions in this module Expand all Collapse all v1 v1.24.19 Mar 7, 2021 Changes in this version type Plugin + func (p *Plugin) CheckVideo(videoID string, channelID string) error v1.20.6 Sep 3, 2019 Changes in this version + const GoogleWebsubHub + const GuildMaxFeeds + const GuildMaxFeedsPremium + const MaxChannelsPerPoll + const PollInterval + const RedisChannelsLockKey + const RedisKeyWebSubChannels + const WebSubCheckInterval + var ErrIDNotFound = errors.New("ID not found") + var ErrNoChannel = errors.New("No channel with that id found") + func BaseEditHandler(inner web.ControllerHandlerFunc) web.ControllerHandlerFunc + func KeyLastVidID(channel string) string + func KeyLastVidTime(channel string) string + func MaxFeedsForContext(ctx context.Context) int + func RegisterPlugin() + type ChannelSubscription struct + ChannelID string + GuildID string + MentionEveryone bool + YoutubeChannelID string + YoutubeChannelName string + func SubsForChannel(channel string) (result []*ChannelSubscription, err error) + func (c *ChannelSubscription) TableName() string + type ContextKey int + const ContextKeySub + type CtxKey int + const CurrentConfig + type Form struct + DiscordChannel int64 + ID uint + MentionEveryone bool + YoutubeChannelID string + YoutubeChannelUser string + type Link struct + Href string + Rel string + type LinkEntry struct + Href string + Rel string + type Plugin struct + Stop chan *sync.WaitGroup + YTService *youtube.Service + func (p *Plugin) AddFeed(guildID, discordChannelID int64, youtubeChannelID, youtubeUsername string, ...) (*ChannelSubscription, error) + func (p *Plugin) DisableFeed(elem *mqueue.QueuedElement, err error) + func (p *Plugin) HandleEdit(w http.ResponseWriter, r *http.Request) (templateData web.TemplateData, err error) + func (p *Plugin) HandleFeedUpdate(w http.ResponseWriter, r *http.Request) + func (p *Plugin) HandleNew(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func (p *Plugin) HandleRemove(w http.ResponseWriter, r *http.Request) (templateData web.TemplateData, err error) + func (p *Plugin) HandleYoutube(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func (p *Plugin) InitWeb() + func (p *Plugin) LoadServerHomeWidget(w http.ResponseWriter, r *http.Request) (web.TemplateData, error) + func (p *Plugin) MaybeAddChannelWatch(lock bool, channel string) error + func (p *Plugin) MaybeRemoveChannelWatch(channel string) + func (p *Plugin) PlaylistID(channelID string) (string, error) + func (p *Plugin) PluginInfo() *common.PluginInfo + func (p *Plugin) SetupClient() error + func (p *Plugin) StartFeed() + func (p *Plugin) Status() (string, string) + func (p *Plugin) StopFeed(wg *sync.WaitGroup) + func (p *Plugin) ValidateSubscription(w http.ResponseWriter, r *http.Request, query url.Values) + func (p *Plugin) WebSubSubscribe(ytChannelID string) error + func (p *Plugin) WebSubUnsubscribe(ytChannelID string) error + type XMLFeed struct + AuthorName string + AuthorUri string + ChannelID string + Id string + Link []Link + LinkEntry Link + Published string + Title string + TitleEntry string + Updated string + UpdatedEntry string + VideoId string + Xmlns string + Yt string + type YoutubePlaylistID struct + ChannelID string + CreatedAt time.Time + PlaylistID string