Module: Twitter::REST::DirectMessages
- Includes:
- UploadUtils, Utils, Utils
- Included in:
- API
- Defined in:
- lib/twitter/rest/direct_messages.rb,
lib/twitter/rest/direct_messages/welcome_messages.rb
Overview
Methods for interacting with direct messages
Defined Under Namespace
Modules: WelcomeMessages
Constant Summary
Constants included from Utils
Instance Method Summary collapse
-
#create_direct_message(user_id, text, options = {}) ⇒ Twitter::DirectMessage
(also: #d, #m, #dm)
Sends a new direct message to the specified user.
-
#create_direct_message_event(user, text, options = {}) ⇒ Twitter::DirectMessageEvent
Creates a new direct message event to the specified user.
-
#create_direct_message_event_with_media(user, text, media, options = {}) ⇒ Twitter::DirectMessageEvent
Creates a direct message event with media attachment.
-
#destroy_direct_message(*ids) ⇒ nil
Destroys direct messages.
-
#direct_message(id, options = {}) ⇒ Twitter::DirectMessage
Returns a direct message.
-
#direct_message_event(id, options = {}) ⇒ Twitter::DirectMessageEvent
Returns a direct message event.
-
#direct_messages(*args) ⇒ Array<Twitter::DirectMessage>
Returns direct messages.
-
#direct_messages_events(options = {}) ⇒ Array<Twitter::DirectMessageEvent>
Returns all Direct Message events for the authenticated user.
-
#direct_messages_list(options = {}) ⇒ Array<Twitter::DirectMessage>
Returns all Direct Messages for the authenticated user.
-
#direct_messages_received(options = {}) ⇒ Array<Twitter::DirectMessage>
Returns Direct Messages received by the authenticated user.
-
#direct_messages_sent(options = {}) ⇒ Array<Twitter::DirectMessage>
Returns Direct Messages sent by the authenticated user.
Methods included from Utils
Instance Method Details
#create_direct_message(user_id, text, options = {}) ⇒ Twitter::DirectMessage Also known as: d, m, dm
Sends a new direct message to the specified user
197 198 199 200 |
# File 'lib/twitter/rest/direct_messages.rb', line 197 def (user_id, text, = {}) event = perform_request_with_object(:json_post, "/1.1/direct_messages/events/new.json", (user_id, text, ), DirectMessageEvent) event. end |
#create_direct_message_event(user, text, options = {}) ⇒ Twitter::DirectMessageEvent
This method requires an access token with RWD permissions
Creates a new direct message event to the specified user
241 242 243 244 245 246 247 |
# File 'lib/twitter/rest/direct_messages.rb', line 241 def (*args) arguments = Arguments.new(args) = arguments. [:event] = {type: "message_create", message_create: {target: {recipient_id: extract_id(arguments.fetch(0))}, message_data: {text: arguments.fetch(1)}}} if arguments.length == 2 response = Request.new(self, :json_post, "/1.1/direct_messages/events/new.json", ).perform DirectMessageEvent.new(response) end |
#create_direct_message_event_with_media(user, text, media, options = {}) ⇒ Twitter::DirectMessageEvent
This method requires an access token with RWD permissions
Creates a direct message event with media attachment
265 266 267 268 269 270 |
# File 'lib/twitter/rest/direct_messages.rb', line 265 def (user, text, media, = {}) media_id = upload(media, media_category_prefix: "dm").fetch(:media_id) # steep:ignore NoMethod [:event] = {type: "message_create", message_create: {target: {recipient_id: extract_id(user)}, message_data: {text:, attachment: {type: "media", media: {id: media_id}}}}} response = Request.new(self, :json_post, "/1.1/direct_messages/events/new.json", ).perform DirectMessageEvent.new(response) end |
#destroy_direct_message(*ids) ⇒ nil
This method requires an access token with RWD permissions
Destroys direct messages
177 178 179 180 181 182 |
# File 'lib/twitter/rest/direct_messages.rb', line 177 def (*ids) pmap(ids) do |id| perform_requests(:delete, "/1.1/direct_messages/events/destroy.json", id:) # steep:ignore ArgumentTypeMismatch end nil end |
#direct_message(id, options = {}) ⇒ Twitter::DirectMessage
This method requires an access token with RWD permissions
Returns a direct message
106 107 108 |
# File 'lib/twitter/rest/direct_messages.rb', line 106 def (id, = {}) (id, ). end |
#direct_message_event(id, options = {}) ⇒ Twitter::DirectMessageEvent
This method requires an access token with RWD permissions
Returns a direct message event
123 124 125 126 |
# File 'lib/twitter/rest/direct_messages.rb', line 123 def (id, = {}) [:id] = id perform_get_with_object("/1.1/direct_messages/events/show.json", , DirectMessageEvent) end |
#direct_messages(options = {}) ⇒ Array<Twitter::DirectMessage> #direct_messages(*ids) ⇒ Array<Twitter::DirectMessage> #direct_messages(*ids, options) ⇒ Array<Twitter::DirectMessage>
This method requires an access token with RWD permissions
Returns direct messages
153 154 155 156 157 158 159 160 161 162 |
# File 'lib/twitter/rest/direct_messages.rb', line 153 def (*args) arguments = Arguments.new(args) if arguments.empty? (arguments.) else pmap(arguments) do |id| (id, arguments.) end end end |
#direct_messages_events(options = {}) ⇒ Array<Twitter::DirectMessageEvent>
This method requires an access token with RWD permissions
Returns all Direct Message events for the authenticated user
31 32 33 34 35 |
# File 'lib/twitter/rest/direct_messages.rb', line 31 def ( = {}) limit = .fetch(:count, 20) = .merge(no_default_cursor: true, count: 50, limit:) perform_get_with_cursor("/1.1/direct_messages/events/list.json", , :events, DirectMessageEvent) end |
#direct_messages_list(options = {}) ⇒ Array<Twitter::DirectMessage>
This method requires an access token with RWD permissions
Returns all Direct Messages for the authenticated user
51 52 53 |
# File 'lib/twitter/rest/direct_messages.rb', line 51 def ( = {}) ().collect(&:direct_message) end |
#direct_messages_received(options = {}) ⇒ Array<Twitter::DirectMessage>
This method requires an access token with RWD permissions
Returns Direct Messages received by the authenticated user
69 70 71 72 |
# File 'lib/twitter/rest/direct_messages.rb', line 69 def ( = {}) limit = .fetch(:count, 20) ().select { |dm| dm.recipient_id == user_id }.first(limit) end |
#direct_messages_sent(options = {}) ⇒ Array<Twitter::DirectMessage>
This method requires an access token with RWD permissions
Returns Direct Messages sent by the authenticated user
88 89 90 91 |
# File 'lib/twitter/rest/direct_messages.rb', line 88 def ( = {}) limit = .fetch(:count, 20) ().select { |dm| dm.sender_id == user_id }.first(limit) end |