discordgomanager

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2022 License: MIT Imports: 2 Imported by: 0

README

DiscordGo command manager

DiscordGo command manager.

Download
go get github.com/thechampagne/discordgomanager
Example
package main

import (
	"fmt"
	"github.com/bwmarrin/discordgo"
	"github.com/thechampagne/discordgomanager"
	"log"
	"os"
	"os/signal"
	"syscall"
)

type hello struct{}

func (hello) GetCommand() string {
	return "hello"
}

func (hello) Run(args []string,s *discordgo.Session, m *discordgo.MessageCreate) {
	s.ChannelMessageSend(m.ChannelID, "Hi")
}

func main(){

	manager := discordgomanager.New("!")
	manager.AddCommand(hello{})

	client, err := discordgo.New("Bot " + "token")

	if err != nil {
		log.Fatal(err)
	}
	client.AddHandler(manager.Handler)

	err = client.Open()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("Bot is now running.  Press CTRL-C to exit.")
	sc := make(chan os.Signal, 1)
	signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt, os.Kill)
	<-sc
	client.Close()
}
License

This repo is released under the MIT License.

Documentation

Overview

* Copyright (c) 2022 XXIV * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Command

type Command interface {
	Run([]string, *discordgo.Session, *discordgo.MessageCreate)
	GetCommand() string
}

type Manager

type Manager struct {
	Prefix   string
	Commands map[string]Command
}

func New

func New(prefix string) *Manager

func (*Manager) AddCommand

func (m *Manager) AddCommand(command Command)

func (*Manager) AddCommands

func (m *Manager) AddCommands(command []Command)

func (*Manager) Handler

func (m *Manager) Handler(s *discordgo.Session, msg *discordgo.MessageCreate)

Jump to

Keyboard shortcuts

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