Documentation ¶
Index ¶
- Constants
- Variables
- func HandleGuildCreate(evt *eventsystem.EventData)
- func HandleMemberAdd(evt *eventsystem.EventData)
- func HandleMemberRemove(evt *eventsystem.EventData)
- func HandleMessageCreate(evt *eventsystem.EventData) (retry bool, err error)
- func HandleSaveStatsSettings(w http.ResponseWriter, r *http.Request) (web.TemplateData, error)
- func HandleStatsCharts(w http.ResponseWriter, r *http.Request, isPublicAccess bool) interface{}
- func HandleStatsHtml(w http.ResponseWriter, r *http.Request, isPublicAccess bool) (web.TemplateData, error)
- func HandleStatsJson(w http.ResponseWriter, r *http.Request, isPublicAccess bool) interface{}
- func MarkGuildAsToBeChecked(guildID int64)
- func RegisterPlugin()
- func RoundHour(t time.Time) time.Time
- func SetUpdateMemberStatsPeriod(guildID int64, memberIncr int, numMembers int)
- func StartMigrationToV2Format() error
- type CacheKey
- type ChannelStats
- type ChartDataPeriod
- type ChartResponse
- type CompressedStats
- type Compressor
- type DailyStats
- type FormData
- type MigrationProgress
- type MigrationSubProgress
- type Plugin
- func (p *Plugin) AddCommands()
- func (p *Plugin) BotInit()
- func (p *Plugin) InitWeb()
- func (p *Plugin) LoadServerHomeWidget(w http.ResponseWriter, r *http.Request) (web.TemplateData, error)
- func (p *Plugin) OnNewPremiumGuild(guildID int64) error
- func (p *Plugin) PluginInfo() *common.PluginInfo
- func (p *Plugin) RunBackgroundWorker()
- func (p *Plugin) RunCompressionLegacy()
- func (p *Plugin) StopBackgroundWorker(wg *sync.WaitGroup)
- type ServerStatsConfig
Constants ¶
View Source
const (
RedisKeyLastHourlyRan = "serverstats_last_hourly_worker_ran"
)
Variables ¶
View Source
var WebConfigCache = rcache.NewInt(cacheConfigFetcher, time.Minute)
View Source
var WebStatsCache = rcache.New(cacheChartFetcher, time.Minute)
Functions ¶
func HandleGuildCreate ¶
func HandleGuildCreate(evt *eventsystem.EventData)
func HandleMemberAdd ¶
func HandleMemberAdd(evt *eventsystem.EventData)
func HandleMemberRemove ¶
func HandleMemberRemove(evt *eventsystem.EventData)
func HandleMessageCreate ¶
func HandleMessageCreate(evt *eventsystem.EventData) (retry bool, err error)
func HandleSaveStatsSettings ¶ added in v1.4.1
func HandleSaveStatsSettings(w http.ResponseWriter, r *http.Request) (web.TemplateData, error)
func HandleStatsCharts ¶ added in v1.16.0
func HandleStatsCharts(w http.ResponseWriter, r *http.Request, isPublicAccess bool) interface{}
func HandleStatsHtml ¶
func HandleStatsHtml(w http.ResponseWriter, r *http.Request, isPublicAccess bool) (web.TemplateData, error)
Somewhat dirty - should clean up this mess sometime
func HandleStatsJson ¶
func HandleStatsJson(w http.ResponseWriter, r *http.Request, isPublicAccess bool) interface{}
func MarkGuildAsToBeChecked ¶
func MarkGuildAsToBeChecked(guildID int64)
func RegisterPlugin ¶
func RegisterPlugin()
func SetUpdateMemberStatsPeriod ¶ added in v1.16.0
func StartMigrationToV2Format ¶ added in v1.20.17
func StartMigrationToV2Format() error
Types ¶
type ChannelStats ¶
type ChartDataPeriod ¶ added in v1.20.17
type ChartDataPeriod struct { T time.Time `json:"t"` Joins int `json:"joins"` Leaves int `json:"leaves"` NumMembers int `json:"num_members"` MaxOnline int `json:"max_online"` Messages int `json:"num_messages"` }
func RetrieveChartDataPeriods ¶ added in v1.20.17
type ChartResponse ¶ added in v1.16.0
type ChartResponse struct { Days int `json:"days"` Data []*ChartDataPeriod `json:"data"` }
func CacheGetCharts ¶ added in v1.16.0
func CacheGetCharts(guildID int64, days int, ctx context.Context) *ChartResponse
type CompressedStats ¶ added in v1.20.17
type Compressor ¶ added in v1.20.17
type Compressor struct {
// contains filtered or unexported fields
}
func (*Compressor) RunCompression ¶ added in v1.20.17
func (c *Compressor) RunCompression(t time.Time) error
type DailyStats ¶ added in v1.16.0
type DailyStats struct { ChannelMessages map[string]*ChannelStats `json:"channels_messages"` JoinedDay int `json:"joined_day"` LeftDay int `json:"left_day"` Online int `json:"online_now"` TotalMembers int `json:"total_members_now"` }
func RetrieveDailyStats ¶ added in v1.16.0
func RetrieveDailyStats(t time.Time, guildID int64) (*DailyStats, error)
type MigrationProgress ¶ added in v1.20.17
type MigrationProgress struct { MsgPeriods *MigrationSubProgress MemberPeriods *MigrationSubProgress }
func GetMigrationV2Progress ¶ added in v1.20.17
func GetMigrationV2Progress() (*MigrationProgress, error)
type MigrationSubProgress ¶ added in v1.20.17
func (*MigrationSubProgress) IsRunning ¶ added in v1.20.17
func (m *MigrationSubProgress) IsRunning() bool
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
func (*Plugin) AddCommands ¶ added in v1.4.1
func (p *Plugin) AddCommands()
func (*Plugin) LoadServerHomeWidget ¶ added in v1.17.0
func (p *Plugin) LoadServerHomeWidget(w http.ResponseWriter, r *http.Request) (web.TemplateData, error)
func (*Plugin) OnNewPremiumGuild ¶ added in v1.20.17
func (*Plugin) PluginInfo ¶ added in v1.17.0
func (p *Plugin) PluginInfo() *common.PluginInfo
func (*Plugin) RunBackgroundWorker ¶ added in v1.11.0
func (p *Plugin) RunBackgroundWorker()
func (*Plugin) RunCompressionLegacy ¶ added in v1.20.17
func (p *Plugin) RunCompressionLegacy()
func (*Plugin) StopBackgroundWorker ¶ added in v1.11.0
type ServerStatsConfig ¶
ServerStatsConfig represents a configuration for a server reason we dont reference the model directly is because i need to figure out a way to migrate them over to the new schema, painlessly.
func BotCachedFetchGuildConfig ¶ added in v1.7.4
func BotCachedFetchGuildConfig(ctx context.Context, gs *dstate.GuildState) (*ServerStatsConfig, error)
func GetConfigWeb ¶ added in v1.22.1
func GetConfigWeb(guildID int64) *ServerStatsConfig
func (*ServerStatsConfig) ParseChannels ¶ added in v1.7.4
func (s *ServerStatsConfig) ParseChannels()
Source Files ¶
Click to show internal directories.
Click to hide internal directories.