feat(teams): implement threading via app.reply()

Wire reply_to into send() using App.reply(conv_id, msg_id, content)
which constructs the threaded conversation ID internally.
Threads supported in channels and group chats.

Update comparison table: Threads 

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Aamir Jawaid 2026-05-01 04:57:59 +00:00 committed by Teknium
parent 10f89d7b72
commit 69aeba0df7
2 changed files with 5 additions and 2 deletions

View file

@ -509,7 +509,10 @@ class TeamsAdapter(BasePlatformAdapter):
for chunk in chunks: for chunk in chunks:
try: try:
result = await self._app.send(chat_id, chunk) if reply_to:
result = await self._app.reply(chat_id, reply_to, chunk)
else:
result = await self._app.send(chat_id, chunk)
last_message_id = getattr(result, "id", None) last_message_id = getattr(result, "id", None)
except Exception as e: except Exception as e:
return SendResult(success=False, error=str(e), retryable=True) return SendResult(success=False, error=str(e), retryable=True)

View file

@ -32,7 +32,7 @@ For the full voice feature set — including CLI microphone mode, spoken replies
| BlueBubbles | — | ✅ | ✅ | — | ✅ | ✅ | — | | BlueBubbles | — | ✅ | ✅ | — | ✅ | ✅ | — |
| QQ | ✅ | ✅ | ✅ | — | — | ✅ | — | | QQ | ✅ | ✅ | ✅ | — | — | ✅ | — |
| Yuanbao | ✅ | ✅ | ✅ | — | — | ✅ | ✅ | | Yuanbao | ✅ | ✅ | ✅ | — | — | ✅ | ✅ |
| Microsoft Teams | — | ✅ | — | | — | ✅ | — | | Microsoft Teams | — | ✅ | — | | — | ✅ | — |
**Voice** = TTS audio replies and/or voice message transcription. **Images** = send/receive images. **Files** = send/receive file attachments. **Threads** = threaded conversations. **Reactions** = emoji reactions on messages. **Typing** = typing indicator while processing. **Streaming** = progressive message updates via editing. **Voice** = TTS audio replies and/or voice message transcription. **Images** = send/receive images. **Files** = send/receive file attachments. **Threads** = threaded conversations. **Reactions** = emoji reactions on messages. **Typing** = typing indicator while processing. **Streaming** = progressive message updates via editing.