mirror of
https://github.com/mgerb/go-discord-bot
synced 2026-01-09 08:32:48 +00:00
73 lines
1.2 KiB
Go
73 lines
1.2 KiB
Go
package handlers
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"strings"
|
|
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/mgerb/go-discord-bot/server/config"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type sound struct {
|
|
Prefix string `json:"prefix"`
|
|
Name string `json:"name"`
|
|
Extension string `json:"extension"`
|
|
}
|
|
|
|
// SoundList -
|
|
func SoundList(c *gin.Context) {
|
|
|
|
soundList, err := readSoundsDir(config.Config.SoundsPath)
|
|
|
|
if err != nil {
|
|
log.Error(err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
return
|
|
}
|
|
|
|
c.JSON(200, soundList)
|
|
}
|
|
|
|
// ClipList -
|
|
func ClipList(c *gin.Context) {
|
|
|
|
clipList, err := readSoundsDir(config.Config.ClipsPath)
|
|
|
|
if err != nil {
|
|
log.Error(err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
return
|
|
}
|
|
|
|
c.JSON(200, clipList)
|
|
}
|
|
|
|
func readSoundsDir(dir string) ([]sound, error) {
|
|
|
|
soundList := []sound{}
|
|
|
|
files, err := ioutil.ReadDir(dir)
|
|
|
|
if err != nil {
|
|
return soundList, err
|
|
}
|
|
|
|
for _, f := range files {
|
|
fileName := strings.Split(f.Name(), ".")[0]
|
|
extension := strings.Split(f.Name(), ".")[1]
|
|
|
|
listItem := sound{
|
|
Name: fileName,
|
|
Extension: extension,
|
|
Prefix: config.Config.BotPrefix,
|
|
}
|
|
|
|
soundList = append(soundList, listItem)
|
|
}
|
|
|
|
return soundList, nil
|
|
}
|