Added "shorten" command

This commit is contained in:
takumi091111
2017-10-12 02:37:33 +09:00
parent 449661b503
commit 6fc7e222b1
2 changed files with 28 additions and 0 deletions

18
lib/commands/shorten.rb Normal file
View File

@ -0,0 +1,18 @@
module Bot
module DiscordCommands
module ShortenCommands
extend Discordrb::Commands::CommandContainer
require 'json'
SHORTEN_URL = 'https://www.googleapis.com/urlshortener/v1/url?key='
command(:shorten, usage: 'shorten <URL(スキームなし)>', description: '短縮URLを生成', min_args: 1) do |event, url|
body = {"longUrl" => url}.to_json
res = post_json(SHORTEN_URL + CONFIG[:google][:apikey], body)
json = JSON.parse(res.body)
event.respond json["id"]
end
end
end
end

View File

@ -27,4 +27,14 @@ def get_json(location, limit = 10)
puts [uri.to_s, e.class, e].join(" : ")
# handle error
end
end
def post_json(location, json)
uri = URI.parse(location)
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
req = Net::HTTP::Post.new(uri.request_uri)
req["Content-Type"] = "application/json"
req.body = json
return https.request(req)
end