You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: tl_get_chat_story_interactions_gen.go
    path of file: ./repos/td/tdapi
    
    the code of the file until where you have to start completion: // Code generated by gotdgen, DO NOT EDIT.

package tdapi

import (
	"context"
	"errors"
	"fmt"
	"sort"
	"strings"

	"go.uber.org/multierr"

	"github.com/gotd/td/bin"
	"github.com/gotd/td/tdjson"
	"github.com/gotd/td/tdp"
	"github.com/gotd/td/tgerr"
)

// No-op definition for keeping imports.
var (
	_ = bin.Buffer{}
	_ = context.Background()
	_ = fmt.Stringer(nil)
	_ = strings.Builder{}
	_ = errors.Is
	_ = multierr.AppendInto
	_ = sort.Ints
	_ = tdp.Format
	_ = tgerr.Error{}
	_ = tdjson.Encoder{}
)

// GetChatStoryInteractionsRequest represents TL type `getChatStoryInteractions#c5ec7376`.
type GetChatStoryInteractionsRequest struct {
	// The identifier of the sender of the story
	StorySenderChatID int64
	// Story identifier
	StoryID int32
	// Pass the default heart reaction or a suggest
    
func (g *GetChatStoryInteractionsRequest) EncodeTDLibJSON(b tdjson.Encoder) error {
	if g == nil {
		return fmt.Errorf("can't encode getChatStoryInteractions#c5ec7376 as nil")
	}
	b.ObjStart()
	b.PutID("getChatStoryInteractions")
	b.Comma()
	b.FieldStart("story_sender_chat_id")
	b.PutInt53(g.StorySenderChatID)
	b.Comma()
	b.FieldStart("story_id")
	b.PutInt32(g.StoryID)
	b.Comma()
	b.FieldStart("reaction_type")
	if g.ReactionType == nil {
		return fmt.Errorf("unable to encode getChatStoryInteractions#c5ec7376: field reaction_type is nil")
	}
	if err := g.ReactionType.EncodeTDLibJSON(b); err != nil {
		return fmt.Errorf("unable to encode getChatStoryInteractions#c5ec7376: field reaction_type: %w", err)
	}
	b.Comma()
	b.FieldStart("prefer_forwards")
	b.PutBool(g.PreferForwards)
	b.Comma()
	b.FieldStart("offset")
	b.PutString(g.Offset)
	b.Comma()
	b.FieldStart("limit")
	b.PutInt32(g.Limit)
	b.Comma()
	b.StripComma()
	b.ObjEnd()
	return nil
}