Module: T::RequestableAPI::DMEndpoints
- Included in:
- T::RequestableAPI
- Defined in:
- lib/t/requestable_api/dm_endpoints.rb
Instance Method Summary collapse
- #x_create_direct_message_event(recipient, message) ⇒ Object
- #x_destroy_direct_message(*direct_message_ids) ⇒ Object
- #x_direct_message(id) ⇒ Object
- #x_direct_messages_received(opts = {}) ⇒ Object
- #x_direct_messages_sent(opts = {}) ⇒ Object
Instance Method Details
#x_create_direct_message_event(recipient, message) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/t/requestable_api/dm_endpoints.rb', line 25 def (recipient, ) target = entity_like?(recipient) ? recipient["id"].to_s : resolve_user_id(recipient) response = t_post_v2_json("dm_conversations/with/#{target}/messages", text: .to_s) id = value_id(response) || value_id(response["data"]) {"id" => id.to_i, "id_str" => id.to_s, "text" => .to_s, "full_text" => .to_s, "recipient_id" => target, "recipient" => x_user(target)} end |
#x_destroy_direct_message(*direct_message_ids) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/t/requestable_api/dm_endpoints.rb', line 33 def (*) normalize_id_list(.flatten).each do |id| t_delete_v2("dm_events/#{id}") end true end |
#x_direct_message(id) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/t/requestable_api/dm_endpoints.rb', line 12 def (id) response = t_get_v2("dm_events/#{id}", dm_v2_params) events = extract_dm_events(response) events = [response["data"]] if events.empty? && response["data"].is_a?(Hash) return nil if events.empty? users_by_id = extract_dm_users_by_id(response) me_id = current_user_id normalize_dm_event(events.first, users_by_id, me_id, dm_sender_id(events.first) == me_id) rescue X::NotFound nil end |
#x_direct_messages_received(opts = {}) ⇒ Object
4 5 6 |
# File 'lib/t/requestable_api/dm_endpoints.rb', line 4 def (opts = {}) (false, opts) end |
#x_direct_messages_sent(opts = {}) ⇒ Object
8 9 10 |
# File 'lib/t/requestable_api/dm_endpoints.rb', line 8 def (opts = {}) (true, opts) end |