@@ -134,19 +134,33 @@
134 134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
135 135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
target := normalizeChannel(e.Params[0])
136 136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if !c.hasChannel(target) {
137 137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
138 138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Prefer account-tag (IRCv3) over source nick.
139 140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sender := e.Source.Name
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if acct, ok := e.Tags.Get("account"); ok && acct != "" {
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sender = acct
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
140 144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
text := strings.TrimSpace(e.Last())
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Fallback: parse legacy [nick] prefix from bridge bot.
141 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if sender == "bridge" && strings.HasPrefix(text, "[") {
142 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if end := strings.Index(text, "] "); end != -1 {
143 148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sender = text[1:end]
144 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
text = strings.TrimSpace(text[end+2:])
145 150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
146 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c.appendMessage(Message{At: time.Now(), Channel: target, Nick: sender, Text: text})
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Use server-time when available; fall back to local clock.
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ at := e.Timestamp
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if at.IsZero() {
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ at = time.Now()
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var msgID string
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if id, ok := e.Tags.Get("msgid"); ok {
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ msgID = id
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ c.appendMessage(Message{At: at, Channel: target, Nick: sender, Text: text, MsgID: msgID})
148 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
})
149 163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
150 164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
c.mu.Lock()
151 165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
c.client = client
152 166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
c.mu.Unlock()
153 167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!