Skip to content

Latest commit

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Discord Event Receiver

A library for receiving Discord (and custom) events from NATS

Example

package main
import (
"fmt""os""os/signal""syscall""github.com/chatorbot/receiver""github.com/Postcord/objects""github.com/sirupsen/logrus"
)
// Message represents a Discord messagetypeMessagemap[string]interface{}
funcmain() {
logger:=logrus.New()
logger.SetLevel(logrus.InfoLevel)
logger.SetFormatter(&logrus.TextFormatter{
ForceColors: true,
DisableTimestamp: true,
FullTimestamp: true,
TimestampFormat: "",
})
r, err:=receiver.New(&receiver.Config{
NatsAddr: "nats://127.0.0.1:4444",
Token: os.Getenv("DISCORD_TOKEN"),
Logger: logger,
})
iferr!=nil {
panic("failed to create receiver")
}
deferr.Close()
r.On("discord.ready", ready)
r.On("discord.message_create", message)
r.Start()
// Wait here until CTRL-C or other term signal is received.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
}
funcready(s*rest.Client, m*objects.Ready) error {
fmt.Printf("Bot ready: %s\n", m.User.Username)
returnnil
}
funcmessage(s*rest.Client, m*objects.MessageCreate) error {
fmt.Printf("%s: %s\n", m.Message.Author.Username, m.Message.Content)
returnnil
}

About

A library for receiving Discord (and custom) events from NATS

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages