|
@@ -165,7 +165,7 @@ func zncPlaybackPlayHandler(client *Client, command string, params []string, rb
|
165
|
165
|
}
|
166
|
166
|
|
167
|
167
|
if playPrivmsgs {
|
168
|
|
- zncPlayPrivmsgs(client, rb, "", start, end)
|
|
168
|
+ zncPlayPrivmsgsFromAll(client, rb, start, end)
|
169
|
169
|
}
|
170
|
170
|
|
171
|
171
|
rb.session.zncPlaybackTimes = &zncPlaybackTimes{
|
|
@@ -183,16 +183,24 @@ func zncPlaybackPlayHandler(client *Client, command string, params []string, rb
|
183
|
183
|
}
|
184
|
184
|
|
185
|
185
|
for _, cfNick := range nickTargets {
|
186
|
|
- zncPlayPrivmsgs(client, rb, cfNick, start, end)
|
|
186
|
+ zncPlayPrivmsgsFrom(client, rb, cfNick, start, end)
|
187
|
187
|
rb.Flush(true)
|
188
|
188
|
}
|
189
|
189
|
}
|
190
|
190
|
|
191
|
|
-func zncPlayPrivmsgs(client *Client, rb *ResponseBuffer, target string, start, end time.Time) {
|
192
|
|
- _, sequence, _ := client.server.GetHistorySequence(nil, client, target)
|
193
|
|
- if sequence == nil {
|
|
191
|
+func zncPlayPrivmsgsFrom(client *Client, rb *ResponseBuffer, target string, start, end time.Time) {
|
|
192
|
+ _, sequence, err := client.server.GetHistorySequence(nil, client, target)
|
|
193
|
+ if sequence == nil || err != nil {
|
194
|
194
|
return
|
195
|
195
|
}
|
|
196
|
+ zncMax := client.server.Config().History.ZNCMax
|
|
197
|
+ items, err := sequence.Between(history.Selector{Time: start}, history.Selector{Time: end}, zncMax)
|
|
198
|
+ if err == nil && len(items) != 0 {
|
|
199
|
+ client.replayPrivmsgHistory(rb, items, target)
|
|
200
|
+ }
|
|
201
|
+}
|
|
202
|
+
|
|
203
|
+func zncPlayPrivmsgsFromAll(client *Client, rb *ResponseBuffer, start, end time.Time) {
|
196
|
204
|
zncMax := client.server.Config().History.ZNCMax
|
197
|
205
|
items, err := client.privmsgsBetween(start, end, maxDMTargetsForAutoplay, zncMax)
|
198
|
206
|
if err == nil && len(items) != 0 {
|