Documentation ¶
Index ¶
- Constants
- Variables
- func CreatePostMessage(post *reddit.Link) (string, *discordgo.MessageEmbed)
- func HandleModify(w http.ResponseWriter, r *http.Request) interface{}
- func HandleNew(w http.ResponseWriter, r *http.Request) interface{}
- func HandleReddit(w http.ResponseWriter, r *http.Request) interface{}
- func HandleRemove(w http.ResponseWriter, r *http.Request) interface{}
- func MaxFeedForCtx(ctx context.Context) int
- func RegisterPlugin()
- func UserAgent() string
- type CtxKey
- type Form
- type Plugin
- type PostFetcher
- type RatelimitWindow
- type Ratelimiter
- type RedditIdSlice
- type SubredditWatchItem
Constants ¶
View Source
const ( // Max feeds per guild GuildMaxFeedsNormal = 100 GuildMaxFeedsPremium = 1000 )
Variables ¶
View Source
var ( ClientID = os.Getenv("YAGPDB_REDDIT_CLIENTID") ClientSecret = os.Getenv("YAGPDB_REDDIT_CLIENTSECRET") RedirectURI = os.Getenv("YAGPDB_REDDIT_REDIRECT") RefreshToken = os.Getenv("YAGPDB_REDDIT_REFRESHTOKEN") UseDiscordSpoilers = os.Getenv("YAGPDB_REDDIT_USE_DISCORD_SPOILERS") != "" )
View Source
var KeyLastScannedPostID = "reddit_last_post_id"
Functions ¶
func CreatePostMessage ¶ added in v1.4.1
func CreatePostMessage(post *reddit.Link) (string, *discordgo.MessageEmbed)
func HandleModify ¶
func HandleModify(w http.ResponseWriter, r *http.Request) interface{}
func HandleReddit ¶
func HandleReddit(w http.ResponseWriter, r *http.Request) interface{}
func HandleRemove ¶
func HandleRemove(w http.ResponseWriter, r *http.Request) interface{}
func MaxFeedForCtx ¶ added in v1.6.0
func RegisterPlugin ¶
func RegisterPlugin()
Types ¶
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
func (*Plugin) HandleMQueueError ¶
func (p *Plugin) HandleMQueueError(elem *mqueue.QueuedElement, err error)
Remove feeds if they don't point to a proper channel
func (*Plugin) RemoveGuild ¶
type PostFetcher ¶
type PostFetcher struct { LastID int64 // contains filtered or unexported fields }
func NewPostFetcher ¶
func NewPostFetcher(redditClient *reddit.Client) *PostFetcher
func (*PostFetcher) GetNewPosts ¶
func (p *PostFetcher) GetNewPosts() ([]*reddit.Link, error)
func (*PostFetcher) InitCursor ¶
func (p *PostFetcher) InitCursor() (int64, error)
type RatelimitWindow ¶ added in v1.13.1
type Ratelimiter ¶ added in v1.13.1
type Ratelimiter struct { Windows []*RatelimitWindow // contains filtered or unexported fields }
func NewRatelimiter ¶ added in v1.13.1
func NewRatelimiter() *Ratelimiter
func (*Ratelimiter) CheckIncrement ¶ added in v1.13.1
func (*Ratelimiter) FullGC ¶ added in v1.13.1
func (r *Ratelimiter) FullGC(t time.Time)
func (*Ratelimiter) RunGCLoop ¶ added in v1.13.1
func (r *Ratelimiter) RunGCLoop()
type RedditIdSlice ¶
type RedditIdSlice []string
func (RedditIdSlice) Len ¶
func (r RedditIdSlice) Len() int
Len is the number of elements in the collection.
func (RedditIdSlice) Less ¶
func (r RedditIdSlice) Less(i, j int) bool
Less reports whether the element with index i should sort before the element with index j.
func (RedditIdSlice) Swap ¶
func (r RedditIdSlice) Swap(i, j int)
Swap swaps the elements with indexes i and j.
type SubredditWatchItem ¶
type SubredditWatchItem struct { Sub string `json:"sub"` Guild string `json:"guild"` Channel string `json:"channel"` ID int `json:"id"` UseEmbeds bool `json:"use_embeds"` }
func FindWatchItem ¶
func FindWatchItem(source []*SubredditWatchItem, id int) *SubredditWatchItem
func GetConfig ¶
func GetConfig(key string) ([]*SubredditWatchItem, error)
func (*SubredditWatchItem) Remove ¶
func (item *SubredditWatchItem) Remove() error
func (*SubredditWatchItem) Set ¶
func (item *SubredditWatchItem) Set() error
Click to show internal directories.
Click to hide internal directories.