api package - github.com/GreatGodApollo/GoModz/pkg/api - Go Packages

api

package
v0.0.0-...-4196059 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2020 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EmbedLimitTitle       = 256
	EmbedLimitDescription = 2048
	EmbedLimitFieldValue  = 1024
	EmbedLimitFieldName   = 256
	EmbedLimitField       = 25
	EmbedLimitFooter      = 2048
	EmbedLimit            = 4000
)

Constants for message embed character limits

View Source
const (
	PluginsDir    = "./plugins"
	ModSymbolName = "Mod"
)
View Source
const Version string = "0.1.0"

Variables

This section is empty.

Functions

func CheckSessionPermissions

func CheckSessionPermissions(s *discordgo.Session, guildid, memberid string, required Permission) bool

Types

type ClientWrapper

type ClientWrapper interface {
	AddPrefix(string)
	RemovePrefix(string)
	SetPrefixes([]string)
	GetPrefixes() []string

	RegisterModule(Mod) error
	Modz() *[]*Mod

	RegisterCommand(Command)
	GetCommand(string) (cmd Command, exists bool, index int)
	UnregisterCommand(string)

	IsOwner(string) bool

	GetLogger() Log

	GetSession() *discordgo.Session
}

type Command

type Command interface {
	Meta() *CommandMeta
	Exec(context CommandContext, args []string) error
}

type CommandContext

type CommandContext interface {
	Client() ClientWrapper
	Message() *discordgo.Message
	User() *discordgo.User
	Channel() *discordgo.Channel
	Guild() *discordgo.Guild
	Member() *discordgo.Member

	Reply(string) (*discordgo.Message, error)
	ReplyEmbed(*discordgo.MessageEmbed) (*discordgo.Message, error)
	ReplyEmbedBuilder(EmbedBuilder) (*discordgo.Message, error)
	ReplyFile(filename string, file io.Reader) (*discordgo.Message, error)
	ReplyTTS(string) (*discordgo.Message, error)

	PurgeMessages(int) error
}

type CommandMeta

type CommandMeta struct {
	Name            string
	Aliases         []string
	Description     string
	OwnerOnly       bool
	Hidden          bool
	UserPermissions Permission
	BotPermissions  Permission
	Type            CommandType
}

type CommandType

type CommandType int
const (
	CommandTypePM CommandType = iota

	CommandTypeGuild

	CommandTypeEverywhere
)

type EmbedBuilder

type EmbedBuilder struct {
	*discordgo.MessageEmbed
}

EmbedBuilder ...

func NewEmbedBuilder

func NewEmbedBuilder() *EmbedBuilder

NewEmbed returns a new embed object

func (*EmbedBuilder) AddField

func (e *EmbedBuilder) AddField(name, value string) *EmbedBuilder

AddField [name] [value]

func (*EmbedBuilder) AddInlineField

func (e *EmbedBuilder) AddInlineField(name, value string) *EmbedBuilder

AddInlineField [name] [value]

func (*EmbedBuilder) Build

func (e *EmbedBuilder) Build() *discordgo.MessageEmbed

Build ...

func (*EmbedBuilder) InlineAllFields

func (e *EmbedBuilder) InlineAllFields() *EmbedBuilder

InlineAllFields sets all fields in the embed to be inline

func (*EmbedBuilder) SetAuthor

func (e *EmbedBuilder) SetAuthor(args ...string) *EmbedBuilder

SetAuthor ...

func (*EmbedBuilder) SetColor

func (e *EmbedBuilder) SetColor(clr int) *EmbedBuilder

SetColor ...

func (*EmbedBuilder) SetDescription

func (e *EmbedBuilder) SetDescription(description string) *EmbedBuilder

SetDescription [desc]

func (*EmbedBuilder) SetFooter

func (e *EmbedBuilder) SetFooter(args ...string) *EmbedBuilder

SetFooter [Text] [iconURL]

func (*EmbedBuilder) SetImage

func (e *EmbedBuilder) SetImage(args ...string) *EmbedBuilder

SetImage ...

func (*EmbedBuilder) SetThumbnail

func (e *EmbedBuilder) SetThumbnail(args ...string) *EmbedBuilder

SetThumbnail ...

func (*EmbedBuilder) SetTitle

func (e *EmbedBuilder) SetTitle(name string) *EmbedBuilder

SetTitle ...

func (*EmbedBuilder) SetURL

func (e *EmbedBuilder) SetURL(URL string) *EmbedBuilder

SetURL ...

func (*EmbedBuilder) Truncate

func (e *EmbedBuilder) Truncate() *EmbedBuilder

Truncate truncates any embed value over the character limit.

func (*EmbedBuilder) TruncateDescription

func (e *EmbedBuilder) TruncateDescription() *EmbedBuilder

TruncateDescription ...

func (*EmbedBuilder) TruncateFields

func (e *EmbedBuilder) TruncateFields() *EmbedBuilder

TruncateFields truncates fields that are too long

func (*EmbedBuilder) TruncateFooter

func (e *EmbedBuilder) TruncateFooter() *EmbedBuilder

TruncateFooter ...

func (*EmbedBuilder) TruncateTitle

func (e *EmbedBuilder) TruncateTitle() *EmbedBuilder

TruncateTitle ...

type Event

type Event struct {
	Meta *EventMeta
	Exec interface{}
}

type EventMeta

type EventMeta struct {
	Name        string
	Description string
}

type Log

type Log interface {
	Trace(...interface{})
	Debug(...interface{})
	Info(...interface{})
	Warn(...interface{})
	Error(...interface{})
	Fatal(...interface{})
	Panic(...interface{})

	/// Formatted logs
	Tracef(string, ...interface{})
	Debugf(string, ...interface{})
	Infof(string, ...interface{})
	Warnf(string, ...interface{})
	Errorf(string, ...interface{})
	Fatalf(string, ...interface{})
	Panicf(string, ...interface{})

	SetLevel(LogLevel)
	GetLevel() LogLevel
}

type LogLevel

type LogLevel uint32
const (
	LogLevelPanic LogLevel = iota
	LogLevelFatal
	LogLevelError
	LogLevelWarn
	LogLevelInfo
	LogLevelDebug
	LogLevelTrace
)

type Mod

type Mod interface {
	Meta() *ModuleMeta
	Module
}

type Module

type Module interface {
	Init(ModuleContext) error
	DeInit(ModuleContext) error
}

type ModuleContext

type ModuleContext interface {
	Client() ClientWrapper
	Logger() Log
}

type ModuleMeta

type ModuleMeta struct {
	Name        string
	Description string
	Commands    []Command
	Events      []*Event
}

type Permission

type Permission int
const (
	PermissionAdministrator       Permission = 8
	PermissionViewAuditLog        Permission = 128
	PermissionViewServerInsights  Permission = 524288
	PermissionManageServer        Permission = 32
	PermissionManageRoles         Permission = 268435456
	PermissionManageChannels      Permission = 16
	PermissionKickMembers         Permission = 2
	PermissionBanMembers          Permission = 4
	PermissionCreateInstantInvite Permission = 1
	PermissionChangeNickname      Permission = 67108864
	PermissionManageNicknames     Permission = 134217728
	PermissionManageEmojis        Permission = 1073741824
	PermissionManageWebhooks      Permission = 536870912
	PermissionViewChannels        Permission = 1024

	PermissionMessagesSend              Permission = 2048
	PermissionMessagesSendTTS           Permission = 4096
	PermissionMessagesManage            Permission = 8192
	PermissionMessagesEmbedLinks        Permission = 16384
	PermissionMessagesAttachFiles       Permission = 32768
	PermissionMessagesReadHistory       Permission = 65536
	PermissionMessagesMentionEveryone   Permission = 131072
	PermissionMessagesUseExternalEmojis Permission = 262144
	PermissionMessagesAddReactions      Permission = 64

	PermissionVoiceConnect         Permission = 1048576
	PermissionVoiceSpeak           Permission = 2097152
	PermissionVoiceMuteMembers     Permission = 4194304
	PermissionVoiceDeafenMembers   Permission = 8388608
	PermissionVoiceUseMembers      Permission = 16777216
	PermissionVoiceUseActivity     Permission = 33554432
	PermissionVoicePrioritySpeaker Permission = 256
)

Jump to

Keyboard shortcuts

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