|
@@ -1,6 +1,8 @@
|
|
package config
|
|
package config
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
+ "fmt"
|
|
|
|
+
|
|
"bytes"
|
|
"bytes"
|
|
"text/template"
|
|
"text/template"
|
|
)
|
|
)
|
|
@@ -11,29 +13,41 @@ type bridge struct {
|
|
usernameTemplate *template.Template `yaml:"-"`
|
|
usernameTemplate *template.Template `yaml:"-"`
|
|
}
|
|
}
|
|
|
|
|
|
-func (b *bridge) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
|
|
|
- type rawBridge bridge
|
|
|
|
|
|
+func (b *bridge) setDefaults() error {
|
|
|
|
+ var err error
|
|
|
|
|
|
- raw := rawBridge{}
|
|
|
|
|
|
+ if b.UsernameTemplate == "" {
|
|
|
|
+ b.UsernameTemplate = "Discord_{{.}}"
|
|
|
|
+ }
|
|
|
|
|
|
- err := unmarshal(&raw)
|
|
|
|
|
|
+ b.usernameTemplate, err = template.New("username").Parse(b.UsernameTemplate)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
- raw.usernameTemplate, err = template.New("username").Parse(raw.UsernameTemplate)
|
|
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (b *bridge) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
|
|
|
+ type rawBridge bridge
|
|
|
|
+
|
|
|
|
+ raw := rawBridge{}
|
|
|
|
+
|
|
|
|
+ err := unmarshal(&raw)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
*b = bridge(raw)
|
|
*b = bridge(raw)
|
|
|
|
|
|
- return nil
|
|
|
|
|
|
+ return b.setDefaults()
|
|
}
|
|
}
|
|
|
|
|
|
func (b bridge) FormatUsername(userid string) string {
|
|
func (b bridge) FormatUsername(userid string) string {
|
|
var buffer bytes.Buffer
|
|
var buffer bytes.Buffer
|
|
|
|
|
|
|
|
+ fmt.Printf("bridge: %#v\n", b)
|
|
|
|
+
|
|
b.usernameTemplate.Execute(&buffer, userid)
|
|
b.usernameTemplate.Execute(&buffer, userid)
|
|
|
|
|
|
return buffer.String()
|
|
return buffer.String()
|