diff --git a/tweet.go b/tweet.go index 7d320a3..889466f 100644 --- a/tweet.go +++ b/tweet.go @@ -52,17 +52,20 @@ func (s *Scraper) CreateTweet(tweet NewTweet) (*Tweet, error) { req.Header.Set("content-type", "application/json") - post_medias := map[string]interface{}{ - "media_entities": []string{}, - "possibly_sensitive": false, - } + media_entities := []map[string]interface{}{} if len(tweet.Medias) > 0 { - var media_ids []string for _, media := range tweet.Medias { - media_ids = append(media_ids, strconv.Itoa(media.ID)) + media_entities = append(media_entities, map[string]interface{}{ + "media_id": strconv.Itoa(media.ID), + "tagged_users": []string{}, + }) } - post_medias["media_entities"] = media_ids + } + + post_medias := map[string]interface{}{ + "media_entities": media_entities, + "possibly_sensitive": false, } variables := map[string]interface{}{ diff --git a/tweet_test.go b/tweet_test.go index 8136225..6095488 100644 --- a/tweet_test.go +++ b/tweet_test.go @@ -28,6 +28,42 @@ func TestCreateTweet(t *testing.T) { } } +func TestCreateTweetWithMedia(t *testing.T) { + if skipAuthTest { + t.Skip("Skipping test due to environment variable") + } + + var err error + + var video *twitterscraper.Media + video, err = testScraper.UploadMedia("./photo.jpg") + if err != nil { + t.Error(err) + } + + var photo *twitterscraper.Media + photo, err = testScraper.UploadMedia("./video.mp4") + if err != nil { + t.Error(err) + } + + var tweet *twitterscraper.Tweet + tweet, err = testScraper.CreateTweet(twitterscraper.NewTweet{ + Text: "3 more seconds till i get 🖤", + Medias: []*twitterscraper.Media{ + photo, + video, + }, + }) + + if tweet != nil { + testDeleteTweetId = tweet.ID + } + if err != nil { + t.Error(err) + } +} + func TestDeleteTweet(t *testing.T) { if skipAuthTest { t.Skip("Skipping test due to environment variable")