templates

package
v1.11.1 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2018 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrTooManyCalls = errors.New("Too many calls to this function")
View Source
var (
	StandardFuncMap = map[string]interface{}{
		"dict":                  Dictionary,
		"sdict":                 StringKeyDictionary,
		"cembed":                CreateEmbed,
		"json":                  tmplJson,
		"in":                    in,
		"title":                 strings.Title,
		"add":                   add,
		"roleAbove":             roleIsAbove,
		"adjective":             common.RandomAdjective,
		"randInt":               randInt,
		"shuffle":               shuffle,
		"seq":                   sequence,
		"joinStr":               joinStrings,
		"str":                   str,
		"lower":                 strings.ToLower,
		"upper":                 strings.ToUpper,
		"toString":              ToString,
		"toInt":                 tmplToInt,
		"toInt64":               ToInt64,
		"formatTime":            tmplFormatTime,
		"slice":                 slice,
		"cslice":                CreateSlice,
		"currentTime":           tmplCurrentTime,
		"escapeHere":            tmplEscapeHere,
		"escapeEveryone":        tmplEscapeEveryone,
		"escapeEveryoneHere":    tmplEscapeEveryoneHere,
		"humanizeDurationHours": tmplHumanizeDurationHours,
		"humanizeTimeSinceDays": tmplHumanizeTimeSinceDays,
	}
)

Functions

func CreateEmbed added in v1.4.1

func CreateEmbed(values ...interface{}) (*discordgo.MessageEmbed, error)

func CreateSlice added in v1.4.1

func CreateSlice(values ...interface{}) ([]interface{}, error)

func Dictionary

func Dictionary(values ...interface{}) (map[interface{}]interface{}, error)

dictionary creates a map[string]interface{} from the given parameters by walking the parameters and treating them as key-value pairs. The number of parameters must be even.

func LimitWriter added in v1.10.1

func LimitWriter(w io.Writer, n int64) io.Writer

LimitWriter works like io.LimitReader. It writes at most n bytes to the underlying Writer. It returns io.ErrShortWrite if more than n bytes are attempted to be written.

func RegisterSetupFunc

func RegisterSetupFunc(f ContextSetupFunc)

func StringKeyDictionary added in v1.4.1

func StringKeyDictionary(values ...interface{}) (map[string]interface{}, error)

func TODO

func TODO()

func ToInt64

func ToInt64(from interface{}) int64

func ToString

func ToString(from interface{}) string

Types

type Context

type Context struct {
	GS *dstate.GuildState
	CS *dstate.ChannelState

	MS  *dstate.MemberState
	Msg *discordgo.Message

	BotUser *discordgo.User

	ContextFuncs map[string]interface{}
	Data         map[string]interface{}

	MentionEveryone  bool
	MentionHere      bool
	MentionRoles     []int64
	MentionRoleNames []string

	DelResponse bool
	DelTrigger  bool

	DelTriggerDelay  int
	DelResponseDelay int

	Counters map[string]int

	EmebdsToSend []*discordgo.MessageEmbed

	AddResponseReactionNames []string
}

func NewContext

func NewContext(gs *dstate.GuildState, cs *dstate.ChannelState, ms *dstate.MemberState) *Context

func (*Context) Execute

func (c *Context) Execute(source string) (string, error)

func (*Context) IncreaseCheckCallCounter added in v0.29.1

func (c *Context) IncreaseCheckCallCounter(key string, limit int) bool

IncreaseCheckCallCounter Returns true if key is above the limit

type ContextSetupFunc

type ContextSetupFunc func(ctx *Context)

Jump to

Keyboard shortcuts

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