Documentation ¶
Index ¶
- Constants
- Variables
- func CreateEmbed(values ...interface{}) (*discordgo.MessageEmbed, error)
- func CreateMessageEdit(values ...interface{}) (*discordgo.MessageEdit, error)
- func CreateMessageSend(values ...interface{}) (*discordgo.MessageSend, error)
- func Dictionary(values ...interface{}) (map[interface{}]interface{}, error)
- func LimitWriter(w io.Writer, n int64) io.Writer
- func MaybeScheduledDeleteMessage(guildID, channelID, messageID int64, delaySeconds int)
- func RegisterSetupFunc(f ContextSetupFunc)
- func TODO()
- func ToByte(from interface{}) []byte
- func ToDuration(from interface{}) time.Duration
- func ToFloat64(from interface{}) float64
- func ToInt64(from interface{}) int64
- func ToRune(from interface{}) []rune
- func ToString(from interface{}) string
- type Context
- func (c *Context) ChannelArg(v interface{}) int64
- func (c *Context) Execute(source string) (string, error)
- func (c *Context) ExecuteAndSendWithErrors(source string, channelID int64) error
- func (c *Context) IncreaseCheckCallCounter(key string, limit int) bool
- func (c *Context) IncreaseCheckCallCounterPremium(key string, normalLimit, premiumLimit int) bool
- func (c *Context) IncreaseCheckGenericAPICall() bool
- func (c *Context) IncreaseCheckStateLock() bool
- func (c *Context) LogEntry() *logrus.Entry
- func (c *Context) MessageSend(content string) *discordgo.MessageSend
- func (c *Context) Parse(source string) (*template.Template, error)
- func (c *Context) SendResponse(content string) (*discordgo.Message, error)
- type ContextSetupFunc
- type SDict
- type Slice
Constants ¶
View Source
const ( MaxOpsNormal = 1000000 MaxOpsPremium = 2500000 )
View Source
const MaxStringLength = 1000000
Variables ¶
View Source
var ErrStringTooLong = errors.NewPlain("String is too long (max 1MB)")
View Source
var ErrTooManyAPICalls = errors.New("Too many potential discord api calls function")
View Source
var ErrTooManyCalls = errors.New("Too many calls to this function")
View Source
var GuildPremiumFunc func(guildID int64) (bool, error)
set by the premium package to return wether this guild is premium or not
View Source
var ( StandardFuncMap = map[string]interface{}{ "str": ToString, "toString": ToString, "toInt": tmplToInt, "toInt64": ToInt64, "toFloat": ToFloat64, "toDuration": ToDuration, "toRune": ToRune, "toByte": ToByte, "joinStr": joinStrings, "lower": strings.ToLower, "upper": strings.ToUpper, "slice": slice, "urlescape": url.PathEscape, "split": strings.Split, "title": strings.Title, "add": add, "sub": tmplSub, "mult": tmplMult, "div": tmplDiv, "mod": tmplMod, "fdiv": tmplFDiv, "sqrt": tmplSqrt, "pow": tmplPow, "log": tmplLog, "round": tmplRound, "roundCeil": tmplRoundCeil, "roundFloor": tmplRoundFloor, "roundEven": tmplRoundEven, "humanizeThousands": tmplHumanizeThousands, "dict": Dictionary, "sdict": StringKeyDictionary, "cembed": CreateEmbed, "cslice": CreateSlice, "complexMessage": CreateMessageSend, "complexMessageEdit": CreateMessageEdit, "formatTime": tmplFormatTime, "json": tmplJson, "in": in, "inFold": inFold, "roleAbove": roleIsAbove, "adjective": common.RandomAdjective, "noun": common.RandomNoun, "randInt": randInt, "shuffle": shuffle, "seq": sequence, "currentTime": tmplCurrentTime, "newDate": tmplNewDate, "escapeHere": func(s string) (string, error) { return "", errors.New("function is removed in favor of better direct control over mentions, join support server and read the announcements for more info.") }, "escapeEveryone": func(s string) (string, error) { return "", errors.New("function is removed in favor of better direct control over mentions, join support server and read the announcements for more info.") }, "escapeEveryoneHere": func(s string) (string, error) { return "", errors.New("function is removed in favor of better direct control over mentions, join support server and read the announcements for more info.") }, "humanizeDurationHours": tmplHumanizeDurationHours, "humanizeDurationMinutes": tmplHumanizeDurationMinutes, "humanizeDurationSeconds": tmplHumanizeDurationSeconds, "humanizeTimeSinceDays": tmplHumanizeTimeSinceDays, } )
Functions ¶
func CreateEmbed ¶ added in v1.4.1
func CreateEmbed(values ...interface{}) (*discordgo.MessageEmbed, error)
func CreateMessageEdit ¶ added in v1.23.0
func CreateMessageEdit(values ...interface{}) (*discordgo.MessageEdit, error)
func CreateMessageSend ¶ added in v1.22.2
func CreateMessageSend(values ...interface{}) (*discordgo.MessageSend, 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
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 MaybeScheduledDeleteMessage ¶ added in v1.13.0
func RegisterSetupFunc ¶
func RegisterSetupFunc(f ContextSetupFunc)
func ToDuration ¶ added in v1.17.0
Types ¶
type Context ¶
type Context struct { Name string GS *dstate.GuildState MS *dstate.MemberState Msg *discordgo.Message BotUser *discordgo.User ContextFuncs map[string]interface{} Data map[string]interface{} Counters map[string]int FixedOutput string IsPremium bool RegexCache map[string]*regexp.Regexp CurrentFrame *contextFrame // contains filtered or unexported fields }
func NewContext ¶
func NewContext(gs *dstate.GuildState, cs *dstate.ChannelState, ms *dstate.MemberState) *Context
func (*Context) ChannelArg ¶ added in v1.16.0
func (*Context) ExecuteAndSendWithErrors ¶ added in v1.17.3
func (*Context) IncreaseCheckCallCounter ¶ added in v0.29.1
IncreaseCheckCallCounter Returns true if key is above the limit
func (*Context) IncreaseCheckCallCounterPremium ¶ added in v1.17.2
IncreaseCheckCallCounter Returns true if key is above the limit
func (*Context) IncreaseCheckGenericAPICall ¶ added in v1.16.0
func (*Context) IncreaseCheckStateLock ¶ added in v1.16.0
func (*Context) MessageSend ¶ added in v1.24.0
func (c *Context) MessageSend(content string) *discordgo.MessageSend
type ContextSetupFunc ¶
type ContextSetupFunc func(ctx *Context)
type SDict ¶ added in v1.15.1
type SDict map[string]interface{}
func StringKeyDictionary ¶ added in v1.4.1
type Slice ¶ added in v1.20.17
type Slice []interface{}
func CreateSlice ¶ added in v1.4.1
func (Slice) AppendSlice ¶ added in v1.20.17
func (Slice) StringSlice ¶ added in v1.22.2
Click to show internal directories.
Click to hide internal directories.