forked from lug/matterbridge
		
	Add UserID to each message. Closes #200
This commit is contained in:
		| @@ -21,6 +21,7 @@ type Api struct { | ||||
| type ApiMessage struct { | ||||
| 	Text     string `json:"text"` | ||||
| 	Username string `json:"username"` | ||||
| 	UserID   string `json:"userid"` | ||||
| 	Avatar   string `json:"avatar"` | ||||
| 	Gateway  string `json:"gateway"` | ||||
| } | ||||
| @@ -81,6 +82,7 @@ func (b *Api) handlePostMessage(c echo.Context) error { | ||||
| 	b.Remote <- config.Message{ | ||||
| 		Text:     message.Text, | ||||
| 		Username: message.Username, | ||||
| 		UserID:   message.UserID, | ||||
| 		Channel:  "api", | ||||
| 		Avatar:   message.Avatar, | ||||
| 		Account:  b.Account, | ||||
|   | ||||
| @@ -19,6 +19,7 @@ type Message struct { | ||||
| 	Text      string    `json:"text"` | ||||
| 	Channel   string    `json:"channel"` | ||||
| 	Username  string    `json:"username"` | ||||
| 	UserID    string    `json:"userid"` // userid on the bridge | ||||
| 	Avatar    string    `json:"avatar"` | ||||
| 	Account   string    `json:"account"` | ||||
| 	Event     string    `json:"event"` | ||||
|   | ||||
| @@ -142,7 +142,8 @@ func (b *bdiscord) messageCreate(s *discordgo.Session, m *discordgo.MessageCreat | ||||
| 	m.Message.Content = b.stripCustomoji(m.Message.Content) | ||||
| 	m.Message.Content = b.replaceChannelMentions(m.Message.Content) | ||||
| 	b.Remote <- config.Message{Username: username, Text: m.ContentWithMentionsReplaced(), Channel: channelName, | ||||
| 		Account: b.Account, Avatar: "https://cdn.discordapp.com/avatars/" + m.Author.ID + "/" + m.Author.Avatar + ".jpg"} | ||||
| 		Account: b.Account, Avatar: "https://cdn.discordapp.com/avatars/" + m.Author.ID + "/" + m.Author.Avatar + ".jpg", | ||||
| 		UserID: m.Author.ID} | ||||
| } | ||||
|  | ||||
| func (b *bdiscord) memberUpdate(s *discordgo.Session, m *discordgo.GuildMemberUpdate) { | ||||
|   | ||||
| @@ -82,7 +82,7 @@ func (b *Bgitter) JoinChannel(channel string) error { | ||||
| 				if !strings.HasSuffix(ev.Message.Text, "") { | ||||
| 					flog.Debugf("Sending message from %s on %s to gateway", ev.Message.From.Username, b.Account) | ||||
| 					b.Remote <- config.Message{Username: ev.Message.From.Username, Text: ev.Message.Text, Channel: room, | ||||
| 						Account: b.Account, Avatar: b.getAvatar(ev.Message.From.Username)} | ||||
| 						Account: b.Account, Avatar: b.getAvatar(ev.Message.From.Username), UserID: ev.Message.From.ID} | ||||
| 				} | ||||
| 			case *gitter.GitterConnectionClosed: | ||||
| 				flog.Errorf("connection with gitter closed for room %s", room) | ||||
|   | ||||
| @@ -252,7 +252,7 @@ func (b *Birc) handlePrivMsg(event *irc.Event) { | ||||
| 	re := regexp.MustCompile(`[[:cntrl:]](\d+,|)\d+`) | ||||
| 	msg = re.ReplaceAllString(msg, "") | ||||
| 	flog.Debugf("Sending message from %s on %s to gateway", event.Arguments[0], b.Account) | ||||
| 	b.Remote <- config.Message{Username: event.Nick, Text: msg, Channel: event.Arguments[0], Account: b.Account} | ||||
| 	b.Remote <- config.Message{Username: event.Nick, Text: msg, Channel: event.Arguments[0], Account: b.Account, UserID: event.User + "@" + event.Host} | ||||
| } | ||||
|  | ||||
| func (b *Birc) handleTopicWhoTime(event *irc.Event) { | ||||
|   | ||||
| @@ -109,7 +109,7 @@ func (b *Bmatrix) handlematrix() error { | ||||
| 				username = re.ReplaceAllString(username, `$1`) | ||||
| 			} | ||||
| 			flog.Debugf("Sending message from %s on %s to gateway", ev.Sender, b.Account) | ||||
| 			b.Remote <- config.Message{Username: username, Text: ev.Content["body"].(string), Channel: channel, Account: b.Account} | ||||
| 			b.Remote <- config.Message{Username: username, Text: ev.Content["body"].(string), Channel: channel, Account: b.Account, UserID: ev.Sender} | ||||
| 		} | ||||
| 		flog.Debugf("Received: %#v", ev) | ||||
| 	}) | ||||
|   | ||||
| @@ -21,6 +21,7 @@ type MMMessage struct { | ||||
| 	Text     string | ||||
| 	Channel  string | ||||
| 	Username string | ||||
| 	UserID   string | ||||
| } | ||||
|  | ||||
| type Bmattermost struct { | ||||
| @@ -127,7 +128,7 @@ func (b *Bmattermost) handleMatter() { | ||||
| 	} | ||||
| 	for message := range mchan { | ||||
| 		flog.Debugf("Sending message from %s on %s to gateway", message.Username, b.Account) | ||||
| 		b.Remote <- config.Message{Text: message.Text, Username: message.Username, Channel: message.Channel, Account: b.Account} | ||||
| 		b.Remote <- config.Message{Text: message.Text, Username: message.Username, Channel: message.Channel, Account: b.Account, UserID: message.UserID} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -150,6 +151,7 @@ func (b *Bmattermost) handleMatterClient(mchan chan *MMMessage) { | ||||
| 			b.mc.User.Username != message.Username && message.Raw.Data["team_id"].(string) == b.TeamId { | ||||
| 			flog.Debugf("Receiving from matterclient %#v", message) | ||||
| 			m := &MMMessage{} | ||||
| 			m.UserID = message.UserID | ||||
| 			m.Username = message.Username | ||||
| 			m.Channel = message.Channel | ||||
| 			m.Text = message.Text | ||||
| @@ -171,6 +173,7 @@ func (b *Bmattermost) handleMatterHook(mchan chan *MMMessage) { | ||||
| 		message := b.mh.Receive() | ||||
| 		flog.Debugf("Receiving from matterhook %#v", message) | ||||
| 		m := &MMMessage{} | ||||
| 		m.UserID = message.UserID | ||||
| 		m.Username = message.UserName | ||||
| 		m.Text = message.Text | ||||
| 		m.Channel = message.ChannelName | ||||
|   | ||||
| @@ -82,6 +82,6 @@ func (b *Brocketchat) handleRocketHook() { | ||||
| 			continue | ||||
| 		} | ||||
| 		flog.Debugf("Sending message from %s on %s to gateway", message.UserName, b.Account) | ||||
| 		b.Remote <- config.Message{Text: message.Text, Username: message.UserName, Channel: message.ChannelName, Account: b.Account} | ||||
| 		b.Remote <- config.Message{Text: message.Text, Username: message.UserName, Channel: message.ChannelName, Account: b.Account, UserID: message.UserID} | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -15,6 +15,7 @@ type MMMessage struct { | ||||
| 	Text     string | ||||
| 	Channel  string | ||||
| 	Username string | ||||
| 	UserID   string | ||||
| 	Raw      *slack.MessageEvent | ||||
| } | ||||
|  | ||||
| @@ -185,7 +186,7 @@ func (b *Bslack) handleSlack() { | ||||
| 		texts := strings.Split(message.Text, "\n") | ||||
| 		for _, text := range texts { | ||||
| 			flog.Debugf("Sending message from %s on %s to gateway", message.Username, b.Account) | ||||
| 			b.Remote <- config.Message{Text: text, Username: message.Username, Channel: message.Channel, Account: b.Account, Avatar: b.getAvatar(message.Username)} | ||||
| 			b.Remote <- config.Message{Text: text, Username: message.Username, Channel: message.Channel, Account: b.Account, Avatar: b.getAvatar(message.Username), UserID: message.UserID} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -213,6 +214,7 @@ func (b *Bslack) handleSlackClient(mchan chan *MMMessage) { | ||||
| 					continue | ||||
| 				} | ||||
| 				m := &MMMessage{} | ||||
| 				m.UserID = user.ID | ||||
| 				m.Username = user.Name | ||||
| 				m.Channel = channel.Name | ||||
| 				m.Text = ev.Text | ||||
|   | ||||
| @@ -132,7 +132,7 @@ func (b *Btelegram) handleRecv(updates <-chan tgbotapi.Update) { | ||||
| 		} | ||||
| 		if text != "" { | ||||
| 			flog.Debugf("Sending message from %s on %s to gateway", username, b.Account) | ||||
| 			b.Remote <- config.Message{Username: username, Text: text, Channel: channel, Account: b.Account} | ||||
| 			b.Remote <- config.Message{Username: username, Text: text, Channel: channel, Account: b.Account, UserID: strconv.Itoa(message.From.ID)} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -128,7 +128,7 @@ func (b *Bxmpp) handleXmpp() error { | ||||
| 				} | ||||
| 				if nick != b.Config.Nick && v.Stamp == nodelay && v.Text != "" { | ||||
| 					flog.Debugf("Sending message from %s on %s to gateway", nick, b.Account) | ||||
| 					b.Remote <- config.Message{Username: nick, Text: v.Text, Channel: channel, Account: b.Account} | ||||
| 					b.Remote <- config.Message{Username: nick, Text: v.Text, Channel: channel, Account: b.Account, UserID: v.Remote} | ||||
| 				} | ||||
| 			} | ||||
| 		case xmpp.Presence: | ||||
|   | ||||
| @@ -198,9 +198,6 @@ func (gw *Gateway) handleMessage(msg config.Message, dest *bridge.Bridge) { | ||||
| 		log.Debug("empty channel") | ||||
| 		return | ||||
| 	} | ||||
| 	// hide message from bridge | ||||
| 	//if msg.Text HideMessagesPrefix | ||||
|  | ||||
| 	originchannel := msg.Channel | ||||
| 	origmsg := msg | ||||
| 	for _, channel := range gw.DestChannelFunc(&msg, *dest) { | ||||
|   | ||||
| @@ -37,6 +37,7 @@ type Message struct { | ||||
| 	Username string | ||||
| 	Text     string | ||||
| 	Type     string | ||||
| 	UserID   string | ||||
| } | ||||
|  | ||||
| type Team struct { | ||||
| @@ -290,6 +291,7 @@ func (m *MMClient) parseActionPost(rmsg *Message) { | ||||
| 	} | ||||
| 	rmsg.Username = m.GetUserName(data.UserId) | ||||
| 	rmsg.Channel = m.GetChannelName(data.ChannelId) | ||||
| 	rmsg.UserID = data.UserId | ||||
| 	rmsg.Type = data.Type | ||||
| 	teamid, _ := rmsg.Raw.Data["team_id"].(string) | ||||
| 	// edit messsages have no team_id for some reason | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Wim
					Wim