Documentation
¶
Index ¶
- Constants
- func WithTwitterClient(client *twitter.Client) options.Option[TwitterManager]
- func WithTwitterUsername(username string) options.Option[TwitterManager]
- type ParsedTweet
- type TwitterActions
- type TwitterManager
- func (tm *TwitterManager) Context(currentState *state.State) ([]state.StateData, error)
- func (tm *TwitterManager) GetDependencies() []manager.ManagerID
- func (tm *TwitterManager) GetID() manager.ManagerID
- func (tm *TwitterManager) PostProcess(state *state.State) error
- func (tm *TwitterManager) Process(state *state.State) error
- func (tm *TwitterManager) StartBackgroundProcesses()
- func (tm *TwitterManager) StopBackgroundProcesses()
- func (tm *TwitterManager) Store(fragment *db.Fragment) error
- func (t *TwitterManager) ValidateRequiredFields() error
Constants ¶
const ( // TwitterConversations represents formatted conversation threads TwitterConversations state.StateDataKey = "twitter_conversations" )
StateDataKey constants for different types of Twitter data
Variables ¶
This section is empty.
Functions ¶
func WithTwitterClient ¶
func WithTwitterClient(client *twitter.Client) options.Option[TwitterManager]
func WithTwitterUsername ¶
func WithTwitterUsername(username string) options.Option[TwitterManager]
Types ¶
type ParsedTweet ¶
type ParsedTweet struct {
TweetID string // Unique identifier for the tweet
UserID string // ID of the tweet author
UserName string // Username of the tweet author
TweetText string // Content of the tweet
InReplyToTweetID string // ID of the tweet this is replying to
TweetConversationID string // ID of the root conversation
CreatedAt time.Time // When the tweet was created
}
ParsedTweet represents a processed Twitter message with extracted metadata
type TwitterActions ¶
type TwitterActions struct {
ShouldTweet bool // Whether to send a tweet response
ShouldLike bool // Whether to like the tweet
Reasoning string // Explanation for the chosen actions
}
TwitterActions represents the possible actions an agent can take on Twitter
type TwitterManager ¶
type TwitterManager struct {
*manager.BaseManager
options.RequiredFields
// contains filtered or unexported fields
}
TwitterManager handles Twitter-specific functionality and conversation management
func NewTwitterManager ¶
func NewTwitterManager( baseOpts []options.Option[manager.BaseManager], twitterOpts ...options.Option[TwitterManager], ) (*TwitterManager, error)
NewTwitterManager creates a new instance of TwitterManager with the provided options. Initializes the base manager and Twitter-specific configurations.
func (*TwitterManager) Context ¶
Context formats Twitter conversation data for template rendering. It performs: 1. Decoding tweet metadata from the current message 2. Processing and formatting the conversation thread 3. Returning formatted conversation data for template use
func (*TwitterManager) GetDependencies ¶
func (tm *TwitterManager) GetDependencies() []manager.ManagerID
GetDependencies returns the manager IDs that TwitterManager depends on. Dependencies include: - InsightManagerID: For accessing conversation and user insights - PersonalityManagerID: For maintaining consistent personality in responses
func (*TwitterManager) GetID ¶
func (tm *TwitterManager) GetID() manager.ManagerID
GetID returns the manager's unique identifier
func (*TwitterManager) PostProcess ¶
func (tm *TwitterManager) PostProcess(state *state.State) error
PostProcess performs Twitter-specific actions based on the agent's response. It handles: 1. Verifying the platform is Twitter 2. Decoding tweet metadata 3. Determining appropriate actions (tweet, like, etc.) 4. Executing the decided actions
func (*TwitterManager) Process ¶
func (tm *TwitterManager) Process(state *state.State) error
Process processes incoming tweets and builds conversation context. It performs the following steps: 1. Verifies the message is from Twitter 2. Decodes tweet metadata from the message 3. Reconstructs and stores the conversation thread
func (*TwitterManager) StartBackgroundProcesses ¶
func (tm *TwitterManager) StartBackgroundProcesses()
StartBackgroundProcesses initializes any background tasks. Note: Currently unimplemented as Twitter interactions are handled reactively
func (*TwitterManager) StopBackgroundProcesses ¶
func (tm *TwitterManager) StopBackgroundProcesses()
StopBackgroundProcesses cleanly shuts down any background tasks. Note: Currently unimplemented as no background processes exist
func (*TwitterManager) Store ¶
func (tm *TwitterManager) Store(fragment *db.Fragment) error
Store persists a message fragment to storage
func (*TwitterManager) ValidateRequiredFields ¶
func (t *TwitterManager) ValidateRequiredFields() error