summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim <wim@42.be>2015-12-19 15:55:07 +0100
committerWim <wim@42.be>2015-12-19 15:55:07 +0100
commit0dc5e042d2aafd4f9e06422c959898ed7dbb08c8 (patch)
tree9efac0bfc02ed44b30bfd596f40a135514253942
parentf0a5d2396fd7307fefd883d4f794e7def003af45 (diff)
downloadmatterbridge-msglm-0dc5e042d2aafd4f9e06422c959898ed7dbb08c8.tar.gz
matterbridge-msglm-0dc5e042d2aafd4f9e06422c959898ed7dbb08c8.tar.bz2
matterbridge-msglm-0dc5e042d2aafd4f9e06422c959898ed7dbb08c8.zip
Add option to change receiving mattermost channel
-rw-r--r--config.go1
-rw-r--r--matterbridge.go16
2 files changed, 10 insertions, 7 deletions
diff --git a/config.go b/config.go
index 38e41a79..367a43ee 100644
--- a/config.go
+++ b/config.go
@@ -23,6 +23,7 @@ type Config struct {
IconURL string
SkipTLSVerify bool
BindAddress string
+ Channel string
}
General struct {
GiphyAPIKey string
diff --git a/matterbridge.go b/matterbridge.go
index 80e97b35..b301a94f 100644
--- a/matterbridge.go
+++ b/matterbridge.go
@@ -54,26 +54,28 @@ func (b *Bridge) handlePrivMsg(event *irc.Event) {
msg = event.Nick + " "
}
msg += event.Message()
- b.Send("irc-"+event.Nick, msg)
+ b.Send("irc-"+event.Nick, msg, b.Config.Mattermost.Channel)
}
func (b *Bridge) handleJoinPart(event *irc.Event) {
- b.SendType(b.Config.IRC.Nick, "irc-"+event.Nick+" "+strings.ToLower(event.Code)+"s "+event.Message(), "join_leave")
+ b.SendType(b.Config.IRC.Nick, "irc-"+event.Nick+" "+strings.ToLower(event.Code)+"s "+event.Message(),
+ b.Config.Mattermost.Channel, "join_leave")
}
func (b *Bridge) handleOther(event *irc.Event) {
switch event.Code {
case "353":
- b.Send(b.Config.IRC.Nick, event.Message()+" currently on IRC")
+ b.Send(b.Config.IRC.Nick, event.Message()+" currently on IRC", b.Config.Mattermost.Channel)
}
}
-func (b *Bridge) Send(nick string, message string) error {
- return b.SendType(nick, message, "")
+func (b *Bridge) Send(nick string, message string, channel string) error {
+ return b.SendType(nick, message, channel, "")
}
-func (b *Bridge) SendType(nick string, message string, mtype string) error {
+func (b *Bridge) SendType(nick string, message string, channel string, mtype string) error {
matterMessage := matterhook.OMessage{IconURL: b.Config.Mattermost.IconURL}
+ matterMessage.Channel = channel
matterMessage.UserName = nick
matterMessage.Text = message
matterMessage.Type = mtype
@@ -95,7 +97,7 @@ func (b *Bridge) handleMatter() {
b.i.SendRaw("NAMES " + b.Config.IRC.Channel)
case "!gif":
message.Text = b.giphyRandom(strings.Fields(strings.Replace(message.Text, "!gif ", "", 1)))
- b.Send(b.Config.IRC.Nick, message.Text)
+ b.Send(b.Config.IRC.Nick, message.Text, b.Config.Mattermost.Channel)
}
texts := strings.Split(message.Text, "\n")
for _, text := range texts {