/* * MumbleDJ * By Matthieu Grieger * main.go * Copyright (c) 2014 Matthieu Grieger (MIT License) */ package main import ( "flag" "fmt" "github.com/layeh/gumble/gumble" //"github.com/layeh/gumble/gumble_ffmpeg" "github.com/layeh/gumble/gumbleutil" ) // MumbleDJ type declaration type MumbleDJ struct { serverAddress string serverPort int username string password string } func main() { var address, port, username, password string flag.StringVar(&address, "server", "localhost", "address for Mumble server") flag.StringVar(&port, "port", "64738", "port for Mumble server") flag.StringVar(&username, "username", "MumbleDJ", "username of MumbleDJ on server") flag.StringVar(&password, "password", "", "password for Mumble server (if needed)") flag.Parse() // Just testing server connection, will implement this into MumbleDJ type later listener := gumbleutil.Listener{ TextMessage: func(e *gumble.TextMessageEvent) { fmt.Printf("Received text message: %s\n", e.Message) }, } config := gumble.Config{ Username: username, Password: password, Address: address + ":" + port, Listener: listener, } // Currently crashes on connect. Displays the following message: // panic: x509: certificate is valid for Murmur Autogenerated Certificate v2 // Will investigate later. client := gumble.NewClient(&config) if err := client.Connect(); err != nil { panic(err) } }