Skip to content

Add reaction_added support and conversations.history#34

Open
murdahl wants to merge 2 commits into
dotnetbots:mainfrom
murdahl:dev/murdahl/Add-reaction_added-support-and-conversations.history
Open

Add reaction_added support and conversations.history#34
murdahl wants to merge 2 commits into
dotnetbots:mainfrom
murdahl:dev/murdahl/Add-reaction_added-support-and-conversations.history

Conversation

@murdahl
Copy link
Copy Markdown
Collaborator

@murdahl murdahl commented May 29, 2026

Want to play with reactions ✌️ Could do some sort of integrated voting thing

Also added bot tracking in conversation history, as I can't reliably get that from app.mentions.
Ended up with a app to app conversation with non stop responding to each other.

Introduce handling for Slack reaction_added events and add Conversations.history support.

  • Add ReactionAddedEvent model and ReactionItem, plus IHandleReactionAdded abstraction.
  • Register ReactionAdded middleware and handler builder integration (IAppBuilderExtensions, SlackBotHandlersBuilder, ISlackbotHandlersBuilder, HttpItemsManager routing/deserialization).
  • Add ConversationsHistory API to ISlackClient and SlackClient, with ConversationsHistoryResponse model; include cursor handling.
  • Extend ConversationsRepliesResponse.Message to include bot-related fields (SubType, Bot_Id, Bot_Profile) for proper bot-message deserialization.
  • Add unit tests and a StubHttpMessageHandler to verify bot-message deserialization and ConversationsHistory pagination.

These changes enable processing of reaction_added events and correctly deserialize bot/app-authored messages from conversation endpoints.

Introduce handling for Slack reaction_added events and add Conversations.history support.

- Add ReactionAddedEvent model and ReactionItem, plus IHandleReactionAdded abstraction.
- Register ReactionAdded middleware and handler builder integration (IAppBuilderExtensions, SlackBotHandlersBuilder, ISlackbotHandlersBuilder, HttpItemsManager routing/deserialization).
- Add ConversationsHistory API to ISlackClient and SlackClient, with ConversationsHistoryResponse model; include cursor handling.
- Extend ConversationsRepliesResponse.Message to include bot-related fields (SubType, Bot_Id, Bot_Profile) for proper bot-message deserialization.
- Add unit tests and a StubHttpMessageHandler to verify bot-message deserialization and ConversationsHistory pagination.

These changes enable processing of reaction_added events and correctly deserialize bot/app-authored messages from conversation endpoints.
@murdahl murdahl self-assigned this May 29, 2026
Remove the unreliable SubType property from the ConversationsReplies Message model, add App_Id, and clarify that Bot_Id is the reliable bot detector. Update tests to stop asserting SubType and add a new test covering an app/bot message shape (bot_id + app_id, user present, no bot_profile). Also adjust existing tests to reflect the model change.
@murdahl murdahl marked this pull request as ready for review May 29, 2026 21:05
@murdahl murdahl added the enhancement New feature or request label May 29, 2026
@murdahl murdahl requested a review from johnkors May 29, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant