mirror of
https://github.com/mii443/rbot.git
synced 2025-08-22 15:45:30 +00:00
Added "shorten" command
This commit is contained in:
18
lib/commands/shorten.rb
Normal file
18
lib/commands/shorten.rb
Normal 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
|
@ -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
|
Reference in New Issue
Block a user