43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- This is a proprietary plugin, property of Andreas Bielawski, (c) 2015 <andi (dot) b (at) outlook (dot) de>
 | 
						|
-- DO NOT USE WITHOUT PERMISSION
 | 
						|
 | 
						|
do
 | 
						|
 | 
						|
local BASE_URL = 'https://api-ssl.bitly.com/v3/shorten'
 | 
						|
local access_token = cred_data.bitly_access_token
 | 
						|
 | 
						|
function create_bitlink (long_url, domain)
 | 
						|
  local url = BASE_URL..'?access_token='..access_token..'&domain='..domain..'&longUrl='..long_url..'&format=txt'
 | 
						|
  local text,code  = https.request(url)
 | 
						|
  if code ~= 200 then return 'FEHLER: '..text end
 | 
						|
  return text
 | 
						|
end
 | 
						|
 | 
						|
function run(msg, matches)
 | 
						|
  if matches[2] == nil then
 | 
						|
    long_url = url_encode(matches[1])
 | 
						|
	domain = 'bit.ly'
 | 
						|
  else
 | 
						|
    long_url = url_encode(matches[2])
 | 
						|
	domain = matches[1]
 | 
						|
  end
 | 
						|
  return create_bitlink(long_url, domain)
 | 
						|
end
 | 
						|
 | 
						|
return {
 | 
						|
  description = "Kürzt einen Link", 
 | 
						|
  usage = {
 | 
						|
    "/short [Link]: Kürzt einen Link mit Bitly",
 | 
						|
	"/short [j.mp|bit.ly|bitly.com|andib.tk] [Link]: Kürzt einen Link mit der ausgewählten Kurz-URL"
 | 
						|
  },
 | 
						|
  patterns = {
 | 
						|
  	"^/short (j.mp) (https?://[%w-_%.%?%.:/%+=&]+)$",
 | 
						|
	"^/short (bit.ly) (https?://[%w-_%.%?%.:/%+=&]+)$",
 | 
						|
	"^/short (bitly.com) (https?://[%w-_%.%?%.:/%+=&]+)$",
 | 
						|
	"^/short (andib.tk) (https?://[%w-_%.%?%.:/%+=&]+)$",
 | 
						|
	"^/short (https?://[%w-_%.%?%.:/%+=&]+)$"
 | 
						|
  },
 | 
						|
  run = run 
 | 
						|
}
 | 
						|
 | 
						|
end |