This repository has been archived on 2019-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
mumbledj/main.go
2014-12-09 15:41:50 -08:00

57 lines
1.4 KiB
Go

/*
* 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)
}
}