eventlog

package
v0.0.0-...-07de05f Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2022 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// How many keys a bucket may contain when created
	BUCKET_INITIAL_FILL = 5

	// The maximum amount of keys a user may possess
	BUCKET_UPPER_BOUND = 5

	// How often new keys drip into the buckets
	DROP_INTERVAL = 15 * time.Second

	// How many keys may drop at a time
	DROP_SIZE = 1
)

Variables

View Source
var Container = &BucketContainer{}

Global pointer to a container instance

Functions

This section is empty.

Types

type BucketContainer

type BucketContainer struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Container struct to lock the bucket map

func (*BucketContainer) CreateBucketIfNotExists

func (b *BucketContainer) CreateBucketIfNotExists(user string)

Check if the user has a bucket. If not create one

func (*BucketContainer) Drain

func (b *BucketContainer) Drain(amount int8, user string) error

Drains $amount from $user if he has enough keys left

func (*BucketContainer) Get

func (b *BucketContainer) Get(user string) int8

func (*BucketContainer) HasKeys

func (b *BucketContainer) HasKeys(user string) bool

Check if the user still has keys

func (*BucketContainer) Init

func (b *BucketContainer) Init()

Allocates the map and starts routines

func (*BucketContainer) Refiller

func (b *BucketContainer) Refiller()

Refills user buckets in a set interval

func (*BucketContainer) Set

func (b *BucketContainer) Set(user string, value int8)

type Handler

type Handler struct {
}

func (*Handler) Action

func (h *Handler) Action(command string, content string, msg *discordgo.Message, session *discordgo.Session)

func (*Handler) Commands

func (h *Handler) Commands() []string

func (*Handler) Init

func (h *Handler) Init(session *shardmanager.Manager)

func (*Handler) OnChannelCreate

func (h *Handler) OnChannelCreate(session *discordgo.Session, channel *discordgo.ChannelCreate)

func (*Handler) OnChannelDelete

func (h *Handler) OnChannelDelete(session *discordgo.Session, channel *discordgo.ChannelDelete)

func (*Handler) OnGuildBanAdd

func (h *Handler) OnGuildBanAdd(user *discordgo.GuildBanAdd, session *discordgo.Session)

func (*Handler) OnGuildBanRemove

func (h *Handler) OnGuildBanRemove(user *discordgo.GuildBanRemove, session *discordgo.Session)

func (*Handler) OnGuildMemberAdd

func (h *Handler) OnGuildMemberAdd(member *discordgo.Member, session *discordgo.Session)

func (*Handler) OnGuildMemberRemove

func (h *Handler) OnGuildMemberRemove(member *discordgo.Member, session *discordgo.Session)

func (*Handler) OnGuildRoleCreate

func (h *Handler) OnGuildRoleCreate(session *discordgo.Session, role *discordgo.GuildRoleCreate)

func (*Handler) OnGuildRoleDelete

func (h *Handler) OnGuildRoleDelete(session *discordgo.Session, role *discordgo.GuildRoleDelete)

func (*Handler) OnMessage

func (h *Handler) OnMessage(content string, msg *discordgo.Message, session *discordgo.Session)

func (*Handler) OnMessageDelete

func (h *Handler) OnMessageDelete(msg *discordgo.MessageDelete, session *discordgo.Session)

func (*Handler) OnReactionAdd

func (h *Handler) OnReactionAdd(reaction *discordgo.MessageReactionAdd, session *discordgo.Session)

func (*Handler) OnReactionRemove

func (h *Handler) OnReactionRemove(reaction *discordgo.MessageReactionRemove, session *discordgo.Session)

func (*Handler) Uninit

func (h *Handler) Uninit(session *shardmanager.Manager)

Jump to

Keyboard shortcuts

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