mirror of
https://github.com/mgerb/go-discord-bot
synced 2026-01-11 01:22:48 +00:00
54 lines
879 B
Go
54 lines
879 B
Go
package handlers
|
|
|
|
import (
|
|
"../../config"
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/valyala/fasthttp"
|
|
"io/ioutil"
|
|
"strings"
|
|
)
|
|
|
|
var soundList = make([]string, 0)
|
|
|
|
func SoundList(ctx *fasthttp.RequestCtx) {
|
|
|
|
if len(soundList) < 1 {
|
|
err := PopulateSoundList()
|
|
if err != nil {
|
|
ctx.Error(err.Error(), 400)
|
|
return
|
|
}
|
|
}
|
|
|
|
response, err := json.Marshal(soundList)
|
|
|
|
if err != nil {
|
|
ctx.Error("Error marshaling json", 400)
|
|
return
|
|
}
|
|
|
|
ctx.SetContentType("application/json")
|
|
ctx.Write(response)
|
|
}
|
|
|
|
func PopulateSoundList() error {
|
|
fmt.Println("Populating sound list.")
|
|
|
|
soundList = make([]string, 0)
|
|
|
|
var fileName string
|
|
files, err := ioutil.ReadDir(config.Config.SoundsPath)
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
for _, f := range files {
|
|
fileName = config.Config.BotPrefix + strings.Split(f.Name(), ".")[0]
|
|
soundList = append(soundList, fileName)
|
|
}
|
|
|
|
return nil
|
|
}
|