parent
3c63d0ece2
commit
6ade91132d
@ -0,0 +1,20 @@
|
|||||||
|
FROM golang:1.14-alpine as dev
|
||||||
|
|
||||||
|
WORKDIR /go/src/dice
|
||||||
|
COPY ./go.mod .
|
||||||
|
#COPY ./go.sum .
|
||||||
|
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
RUN go install github.com/dustinpianalto/dice
|
||||||
|
|
||||||
|
CMD [ "go", "run", "main.go"]
|
||||||
|
|
||||||
|
from alpine
|
||||||
|
|
||||||
|
WORKDIR /bin
|
||||||
|
|
||||||
|
COPY --from=dev /go/bin/dice ./dice
|
||||||
|
|
||||||
|
CMD [ "dice" ]
|
||||||
@ -0,0 +1 @@
|
|||||||
|
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/signal"
|
||||||
|
"syscall"
|
||||||
|
|
||||||
|
"github.com/bwmarrin/discordgo"
|
||||||
|
"github.com/dustinpianalto/disgoman"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
Token string
|
||||||
|
)
|
||||||
|
|
||||||
|
//func init() {
|
||||||
|
// flag.StringVar(&Token, "t", "", "Bot Token")
|
||||||
|
// flag.Parse()
|
||||||
|
//}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
Token = os.Getenv("DISCORDGO_TOKEN")
|
||||||
|
dg, err := discordgo.New("Bot " + Token)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("There was an error when creating the Discord Session, ", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dg.State.MaxMessageCount = 100
|
||||||
|
|
||||||
|
//prefixes := []string{
|
||||||
|
// "Go.",
|
||||||
|
//}
|
||||||
|
owners := []string{
|
||||||
|
"351794468870946827",
|
||||||
|
}
|
||||||
|
|
||||||
|
// Arguments are:
|
||||||
|
// prefixes - []string
|
||||||
|
// owner ids - []string
|
||||||
|
// ignore bots - bool
|
||||||
|
// check perms - bool
|
||||||
|
handler := disgoman.CommandManager{
|
||||||
|
Prefixes: getPrefixes,
|
||||||
|
Owners: owners,
|
||||||
|
StatusManager: disgoman.GetDefaultStatusManager(),
|
||||||
|
ErrorChannel: make(chan disgoman.CommandError, 10),
|
||||||
|
Commands: make(map[string]*disgoman.Command),
|
||||||
|
IgnoreBots: true,
|
||||||
|
CheckPermissions: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add Command Handlers
|
||||||
|
exts.AddCommandHandlers(&handler)
|
||||||
|
|
||||||
|
//if _, ok := handler.Commands["help"]; !ok {
|
||||||
|
// handler.AddDefaultHelpCommand()
|
||||||
|
//}
|
||||||
|
|
||||||
|
dg.AddHandler(handler.OnMessage)
|
||||||
|
dg.AddHandler(handler.StatusManager.OnReady)
|
||||||
|
|
||||||
|
err = dg.Open()
|
||||||
|
if err != nil {
|
||||||
|
log.Println("There was an error opening the connection, ", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start the Error handler in a goroutine
|
||||||
|
go ErrorHandler(handler.ErrorChannel)
|
||||||
|
|
||||||
|
log.Println("The Bot is now running.")
|
||||||
|
sc := make(chan os.Signal, 1)
|
||||||
|
signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt, os.Kill)
|
||||||
|
<-sc
|
||||||
|
|
||||||
|
log.Println("Shutting Down...")
|
||||||
|
err = dg.Close()
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func getPrefixes(guildID string) []string {
|
||||||
|
return []string{"/", "\\"}
|
||||||
|
}
|
||||||
|
|
||||||
|
func ErrorHandler(ErrorChan chan disgoman.CommandError) {
|
||||||
|
for ce := range ErrorChan {
|
||||||
|
msg := ce.Message
|
||||||
|
if msg == "" {
|
||||||
|
msg = ce.Error.Error()
|
||||||
|
}
|
||||||
|
_, _ = ce.Context.Send(msg)
|
||||||
|
log.Println(ce.Error)
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in new issue