1
0

decoupled some stuffs, news related tests, new commands file

This commit is contained in:
2020-12-08 14:47:34 +01:00
parent 804ed6ee5b
commit 53d01e04fe
6 changed files with 103 additions and 68 deletions

View File

@ -12,7 +12,7 @@ import (
"github.com/bwmarrin/discordgo"
)
func createAudio(msg string) (filename string, file *bytes.Reader) {
func getAudioMessage(msg string) (filename string, file *bytes.Reader) {
curr_time := time.Now().Unix()
filename = fmt.Sprintf("/tmp/%d.mp3", curr_time)
var cmd_args string = fmt.Sprintf("espeak-ng -s 120 -v mb-fr2 -p 30 '%s' --stdout",
@ -26,7 +26,7 @@ func createAudio(msg string) (filename string, file *bytes.Reader) {
return
}
func createHelpMessage() string {
func getHelpMessage() string {
// build list of possible commands
// TODO: currently, the help needs to get value initiated at startup time to be built.
// I don't like that and wish to test what is rendered without connecting to the server
@ -46,6 +46,18 @@ func createHelpMessage() string {
return welcome + strings.Join(help, "")
}
func getHatMessage() string {
hat := []string{"🧢", "👒", "⛑", "🎩", "🎓"}
rand.Seed(time.Now().UnixNano())
var amount int = rand.Intn(len(hat))
var bag []string
for i := 0; i < amount; i++ {
rand.Seed(time.Now().UnixNano())
bag = append(bag, hat[rand.Intn(len(hat))])
}
return strings.Join(bag, " ")
}
func MessageHandler(s *discordgo.Session, m *discordgo.MessageCreate) {
for alias, _ := range CommandRegister {
if strings.HasPrefix(m.Content, alias) {
@ -59,15 +71,7 @@ func MessageHandler(s *discordgo.Session, m *discordgo.MessageCreate) {
}
func MessageHat(s *discordgo.Session, m *discordgo.MessageCreate, message string) {
hat := []string{"🧢", "👒", "⛑", "🎩", "🎓"}
rand.Seed(time.Now().UnixNano())
var amount int = rand.Intn(len(hat))
var bag []string
for i := 0; i < amount; i++ {
rand.Seed(time.Now().UnixNano())
bag = append(bag, hat[rand.Intn(len(hat))])
}
s.ChannelMessageSend(m.ChannelID, strings.Join(bag, " "))
s.ChannelMessageSend(m.ChannelID, getHatMessage())
}
func MessageTalkback(s *discordgo.Session, m *discordgo.MessageCreate) {
@ -88,7 +92,7 @@ func MessageTalkback(s *discordgo.Session, m *discordgo.MessageCreate) {
}
func MessageHelp(s *discordgo.Session, m *discordgo.MessageCreate, message string) {
s.ChannelMessageSend(m.ChannelID, createHelpMessage())
s.ChannelMessageSend(m.ChannelID, getHelpMessage())
}
func MessagePing(s *discordgo.Session, m *discordgo.MessageCreate, message string) {
@ -103,6 +107,6 @@ func MessagePing(s *discordgo.Session, m *discordgo.MessageCreate, message strin
func MessageAudio(s *discordgo.Session, m *discordgo.MessageCreate, message string) {
var cleanMessage string = prepareTTSMessage(message)
filename, file := createAudio(cleanMessage)
filename, file := getAudioMessage(cleanMessage)
s.ChannelFileSend(m.ChannelID, filename, file)
}