mirror of
https://github.com/mii443/rbot.git
synced 2025-08-22 23:55:28 +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(" : ")
|
puts [uri.to_s, e.class, e].join(" : ")
|
||||||
# handle error
|
# handle error
|
||||||
end
|
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
|
end
|
Reference in New Issue
Block a user