Switch to better solution for disabling URL embeds.
This commit is contained in:
@@ -36,6 +36,9 @@ type Bdiscord struct {
|
||||
userMemberMap map[string]*discordgo.Member
|
||||
nickMemberMap map[string]*discordgo.Member
|
||||
|
||||
noEmbedPartUrls bool
|
||||
noEmbedUrls bool
|
||||
|
||||
// Webhook specific logic
|
||||
useAutoWebhooks bool
|
||||
transmitter *transmitter.Transmitter
|
||||
@@ -57,6 +60,12 @@ func New(cfg *bridge.Config) bridge.Bridger {
|
||||
b.nickMemberMap = make(map[string]*discordgo.Member)
|
||||
b.channelInfoMap = make(map[string]*config.ChannelInfo)
|
||||
|
||||
b.noEmbedPartUrls = b.GetBool(("NoEmbedPartUrls"))
|
||||
b.noEmbedUrls = b.GetBool(("NoEmbedUrls"))
|
||||
if b.noEmbedPartUrls && b.noEmbedUrls {
|
||||
b.Log.Info("NoEmbedUrls supersedes NoEmbedPartUrls")
|
||||
}
|
||||
|
||||
b.useAutoWebhooks = b.GetBool("AutoWebhooks")
|
||||
if b.useAutoWebhooks {
|
||||
b.Log.Debug("Using automatic webhooks")
|
||||
@@ -269,6 +278,10 @@ func (b *Bdiscord) Send(msg config.Message) (string, error) {
|
||||
msg.Text = "_" + msg.Text + "_"
|
||||
}
|
||||
|
||||
if b.noEmbedUrls || (msg.Event == config.EventJoinLeave && b.noEmbedPartUrls) {
|
||||
disableEmbedUrls(&msg.Text)
|
||||
}
|
||||
|
||||
// Handle prefix hint for unthreaded messages.
|
||||
if msg.ParentNotFound() {
|
||||
msg.ParentID = ""
|
||||
|
||||
@@ -233,6 +233,11 @@ func (b *Bdiscord) splitURL(url string) (string, string, bool) {
|
||||
return webhookURLSplit[webhookIdxID], webhookURLSplit[webhookIdxToken], true
|
||||
}
|
||||
|
||||
func disableEmbedUrls(msg *string) {
|
||||
regex := regexp.MustCompile(`(\w+://\S+)`)
|
||||
*msg = regex.ReplaceAllString(*msg, "<$1>")
|
||||
}
|
||||
|
||||
func enumerateUsernames(s string) []string {
|
||||
onlySpace := true
|
||||
for _, r := range s {
|
||||
|
||||
Reference in New Issue
Block a user