Skip to content

feat(helix): support pinned message endpoints#217

Open
jupjohn wants to merge 3 commits into
occluder:masterfrom
jupjohn:feature/helix-pinned-message-endpoints
Open

feat(helix): support pinned message endpoints#217
jupjohn wants to merge 3 commits into
occluder:masterfrom
jupjohn:feature/helix-pinned-message-endpoints

Conversation

@jupjohn
Copy link
Copy Markdown

@jupjohn jupjohn commented May 17, 2026

This PR aims to support the following new (as of 2026-05-15) Helix endpoints for message pinning:

It also updates the existing send message endpoint to include

Added more thorough tests that other endpoints have - if you want them shoved into their own spot, I'm happy to do that.


Related changelog: https://dev.twitch.tv/docs/change-log/#2026-05-15

[property: JsonPropertyName("sender_user_id")]
string SenderUserId,
[property: JsonPropertyName("sender_user_login")]
string SenderUserLogin,
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

user_login is Username across the library. Rename this to SenderUsername. Update PinnedByUserLogin and MentionFragment.UserLogin as well

public class PinnedChatMessages : BaseResponse<PinnedChatMessages.Pin>
{
public record Pin(
[property: JsonPropertyName("message_id")]
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The deserializer has PropertyNamingPolicy = new SnakeCaseNamingPolicy(), you can get rid of most of these.

[property: JsonPropertyName("message_id")]
string MessageId,
[property: JsonPropertyName("broadcaster_id")]
string BroadcasterId,
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

user ids are treated as int64 across all of minitwitch, update user id props to be long for consistency

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants