Class: IgApi::Thread
- Inherits:
-
Object
- Object
- IgApi::Thread
- Defined in:
- lib/ig_api/thread.rb
Instance Method Summary collapse
- #configure_media(users, media_id, text) ⇒ Object
- #configure_story(users, media_id, text) ⇒ Object
- #configure_text(users, text) ⇒ Object
-
#initialize ⇒ Thread
constructor
A new instance of Thread.
- #using(user) ⇒ Object
Constructor Details
Instance Method Details
#configure_media(users, media_id, text) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ig_api/thread.rb', line 46 def configure_media(users, media_id, text) payload = { recipient_users: [users].to_json, client_context: IgApi::Http.generate_uuid, media_id: media_id } payload[:text] = text unless text.empty? response = @api.multipart(Constants::URL + 'direct_v2/threads/broadcast/media_share/?media_type=photo', payload) .with(session: @user[:session], ua: @user[:ua]) .exec response.body end |
#configure_story(users, media_id, text) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ig_api/thread.rb', line 62 def configure_story(users, media_id, text) payload = { action: 'send_item', _uuid: IgApi::Http.generate_uuid, client_context: IgApi::Http.generate_uuid, recipient_users: [users].to_json, story_media_id: media_id, reel_id: media_id.split('_')[1], text: text } signature = Http.generate_signature payload response = @api.post( Constants::URL + 'direct_v2/threads/broadcast/story_share/', "ig_sig_key_version=4&signed_body=#{signature}" ) .with(ua: @user[:ua], session: @user[:session]) .exec response.body end |
#configure_text(users, text) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/ig_api/thread.rb', line 20 def configure_text(users, text) uris = URI.extract(text, %w[http https]) broadcast = 'text' body = { recipient_users: [users].to_json, client_context: Http.generate_uuid, } if uris.empty? body[:text] = text else broadcast = 'link' body[:link_text] = text body[:link_urls] = uris.to_json end response = @api.multipart(Constants::URL + "direct_v2/threads/broadcast/#{broadcast}/", body) .with(ua: @user[:ua], session: @user[:session]) .exec response.body end |
#using(user) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/ig_api/thread.rb', line 10 def using(user) @user = { id: user.data[:id], session: user.session, ua: user.useragent } self end |