Module: Utils::Discord::Request
- Defined in:
- lib/bas/utils/discord/request.rb
Overview
This module is a Discord utility for obtain all images of any threads of a Discord channel.
Constant Summary collapse
- DISCORD_BASE_URL =
"https://discord.com/api/v10"
Class Method Summary collapse
-
.get_discord_images(message) ⇒ Object
Implements the request process logic to Discord.
- .headers(secret_token) ⇒ Object
- .split_paragraphs(params) ⇒ Object
- .write_media_text(params, combined_paragraphs) ⇒ Object
Class Method Details
.get_discord_images(message) ⇒ Object
Implements the request process logic to Discord.
Params:
-
method
HTTP request method: post, get, put, etc. -
body
Request body (Hash). -
endpoint
Notion resource endpoint. -
secret_token
Discord Bot Token.
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/bas/utils/discord/request.rb', line 29 def self.get_discord_images() images_urls = ..map(&:url) { "media" => images_urls, "message_id" => .id, "channel_id" => .channel.id, "author" => ..username, "timestamp" => ..to_s, "property" => "images" } end |
.headers(secret_token) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/bas/utils/discord/request.rb', line 61 def self.headers(secret_token) { "Authorization" => secret_token.to_s, "Content-Type" => "application/json" } end |
.split_paragraphs(params) ⇒ Object
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/bas/utils/discord/request.rb', line 50 def self.split_paragraphs(params) paragraphs = params[:body].split("--DIVISION--").map(&:strip).reject(&:empty?) paragraphs.each_slice(2) do |paragraph| next if paragraph.empty? combined_paragraphs = paragraph.join("\n\n") write_media_text(params, combined_paragraphs) end end |
.write_media_text(params, combined_paragraphs) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/bas/utils/discord/request.rb', line 42 def self.write_media_text(params, combined_paragraphs) = URI.parse("#{DISCORD_BASE_URL}/channels/#{params[:channel_id]}/messages") headers = headers(params[:secret_token]) body = { content: combined_paragraphs }.to_json HTTParty.post(, { body:, headers: }) end |