Adding TinyUrl parser thingie.

This commit is contained in:
sekkusu@server.danieljennings.net 2009-05-22 00:12:35 +00:00
parent 92e451ad68
commit 92ea836c50
2 changed files with 37 additions and 2 deletions

4
bot.py
View File

@ -1,8 +1,8 @@
#!/usr/bin/python
network = "irc.synirc.net"
nick = "skybot"
channel = "#cobol"
nick = "UggBot"
channel = "#uggbot"
import sys
import os

35
plugins/tinyurl.py Normal file
View File

@ -0,0 +1,35 @@
import socket
import re
import locale
import hook
locale.setlocale(locale.LC_ALL, "")
def recv_basic(the_socket):
total_data=[]
while True:
data = the_socket.recv(8192)
if not data: break
total_data.append(data)
return ''.join(total_data)
def tinyurlparse(url):
id = url[(url.rfind("/",8)+1):]
ts = socket.socket()
ts.connect(("tinyurl.com", 80))
ts.send("GET /redirect.php?num=%s HTTP/1.1\r\n" % id)
ts.send("Host: tinyurl.com\r\n\r\n");
tresult = recv_basic(ts);
for tline in tresult.split("\n"):
if tline[:10] == "Location: ":
return tline[10:]
tinyurl_re = re.compile(r'http://(www\.)?tinyurl.com/([A-Za-z0-9\-]+)', flags=re.IGNORECASE)
@hook.command(hook=r'(.*)', prefix=False)
def tinyurl(inp):
tumatch = tinyurl_re.search(inp)
if (tumatch is not None):
return tinyurlparse(tumatch.group())