Merge pull request #3135 from ZOOWH/fix/3110-telegram-forum-thread-id
fix(telegram): use compositeChatID in InboundContext.ChatID for forum topics
This commit is contained in:
commit
86221d470b
2 changed files with 4 additions and 3 deletions
|
|
@ -1185,7 +1185,7 @@ func (c *TelegramChannel) handleMessages(ctx context.Context, messages []*telego
|
||||||
|
|
||||||
inboundCtx := bus.InboundContext{
|
inboundCtx := bus.InboundContext{
|
||||||
Channel: c.Name(),
|
Channel: c.Name(),
|
||||||
ChatID: fmt.Sprintf("%d", chatID),
|
ChatID: compositeChatID,
|
||||||
ChatType: peerKind,
|
ChatType: peerKind,
|
||||||
SenderID: platformID,
|
SenderID: platformID,
|
||||||
MessageID: messageID,
|
MessageID: messageID,
|
||||||
|
|
|
||||||
|
|
@ -1212,8 +1212,9 @@ func TestHandleMessage_ForumTopic_SetsMetadata(t *testing.T) {
|
||||||
inbound, ok := <-messageBus.InboundChan()
|
inbound, ok := <-messageBus.InboundChan()
|
||||||
require.True(t, ok, "expected inbound message")
|
require.True(t, ok, "expected inbound message")
|
||||||
|
|
||||||
// ChatID remains the parent chat; TopicID isolates the sub-conversation.
|
// ChatID includes the thread ID for forum topics so outbound
|
||||||
assert.Equal(t, "-1001234567890", inbound.ChatID)
|
// delivery resolves the correct topic without relying solely on TopicID fallback.
|
||||||
|
assert.Equal(t, "-1001234567890/42", inbound.ChatID)
|
||||||
assert.Equal(t, "group", inbound.Context.ChatType)
|
assert.Equal(t, "group", inbound.Context.ChatType)
|
||||||
assert.Equal(t, "42", inbound.Context.TopicID)
|
assert.Equal(t, "42", inbound.Context.TopicID)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue