4
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2025-06-26 18:59:24 +00:00

Compare commits

...

7 Commits

6 changed files with 36 additions and 7 deletions

View File

@ -76,9 +76,10 @@ func (b *Bdiscord) Connect() error {
if err != nil {
return err
}
serverName := strings.Replace(b.GetString("Server"), "ID:", "", -1)
b.Nick = userinfo.Username
for _, guild := range guilds {
if guild.Name == b.GetString("Server") {
if guild.Name == serverName || guild.ID == serverName {
b.Channels, err = b.c.GuildChannels(guild.ID)
b.guildID = guild.ID
if err != nil {

View File

@ -202,6 +202,13 @@ func (b *Bslack) handleStatusEvent(ev *slack.MessageEvent, rmsg *config.Message)
rmsg.Event = config.EventJoinLeave
case sChannelTopic, sChannelPurpose:
rmsg.Event = config.EventTopicChange
case sMessageChanged:
rmsg.Text = ev.SubMessage.Text
// handle deleted thread starting messages
if ev.SubMessage.Text == "This message was deleted." {
rmsg.Event = config.EventMsgDelete
return true
}
case sMessageDeleted:
rmsg.Text = config.EventMsgDelete
rmsg.Event = config.EventMsgDelete

View File

@ -48,6 +48,7 @@ const (
sChannelLeave = "channel_leave"
sChannelJoined = "channel_joined"
sMemberJoined = "member_joined_channel"
sMessageChanged = "message_changed"
sMessageDeleted = "message_deleted"
sSlackAttachment = "slack_attachment"
sPinnedItem = "pinned_item"
@ -356,6 +357,10 @@ func (b *Bslack) editMessage(msg *config.Message, channelInfo *slack.Channel) (b
}
func (b *Bslack) postMessage(msg *config.Message, messageParameters *slack.PostMessageParameters, channelInfo *slack.Channel) (string, error) {
// don't post empty messages
if msg.Text == "" {
return "", nil
}
for {
_, id, err := b.rtm.PostMessage(channelInfo.ID, msg.Text, *messageParameters)
if err == nil {
@ -385,11 +390,16 @@ func (b *Bslack) uploadFile(msg *config.Message, channelID string) {
ts := time.Now()
b.Log.Debugf("Adding file %s to cache at %s with timestamp", fi.Name, ts.String())
b.cache.Add("filename"+fi.Name, ts)
initialComment := fmt.Sprintf("File from %s", msg.Username)
if fi.Comment != "" {
initialComment += fmt.Sprintf("with comment: %s", fi.Comment)
}
res, err := b.sc.UploadFile(slack.FileUploadParameters{
Reader: bytes.NewReader(*fi.Data),
Filename: fi.Name,
Channels: []string{channelID},
InitialComment: fi.Comment,
Reader: bytes.NewReader(*fi.Data),
Filename: fi.Name,
Channels: []string{channelID},
InitialComment: initialComment,
ThreadTimestamp: msg.ParentID,
})
if err != nil {
b.Log.Errorf("uploadfile %#v", err)

View File

@ -1,3 +1,14 @@
# v1.12.1
## Bugfix
* discord: fix regression on server ID connection #619 #617
* discord: Limit discord username via webhook to 32 chars
* slack: Make sure threaded files stay in thread (slack). Fixes #590
* slack: Do not post empty messages (slack). Fixes #574
* slack: Handle deleted/edited thread starting messages (slack). Fixes #600 (#605)
* irc: Rework connection logic (irc)
* irc: Fix Nickserv logic (irc) #602
# v1.12.0
## Breaking changes

View File

@ -14,7 +14,7 @@ import (
)
var (
version = "1.12.1-dev"
version = "1.12.1"
githash string
)

View File

@ -1389,7 +1389,7 @@ enable=true
#OPTIONAL - webhookurl only works for discord (it needs a different URL for each cahnnel)
[gateway.inout.options]
webhookurl=""https://discordapp.com/api/webhooks/123456789123456789/C9WPqExYWONPDZabcdef-def1434FGFjstasJX9pYht73y"
webhookurl="https://discordapp.com/api/webhooks/123456789123456789/C9WPqExYWONPDZabcdef-def1434FGFjstasJX9pYht73y"
#API example
#[[gateway.inout]]