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 |