X-Git-Url: https://plomlompom.com/repos/?p=plomlombot-irc.git;a=blobdiff_plain;f=plomlombot.py;h=36228f31b2ccafe949d381958169077a9e6bf77a;hp=b312eb261d6c79610acd15882a2737fb81f49aa4;hb=9a7e2920a88ea32412427c1395b47cdf6d2775cb;hpb=c08b7611ac9227bd57c1d3eb974b043ab35645f3 diff --git a/plomlombot.py b/plomlombot.py index b312eb2..36228f3 100644 --- a/plomlombot.py +++ b/plomlombot.py @@ -1,16 +1,18 @@ import socket -import datetime +import datetime import select import time import re import urllib.request import html +servernet = "irc.freenode.net" +port = 6667 servername = "" -timeout = 480 +timeout = 240 username = "plomlombot" nickname = username -channel = "#zrolaps" +channel = "#zrolaps-test" class IO: @@ -69,7 +71,22 @@ class IO: line) return line -io = IO("irc.freenode.net", 6667) +def url_check(msg): + matches = re.findall("(https?://[^\s]+)", msg) + for i in range(len(matches)): + url = matches[i] + webpage = urllib.request.urlopen(url, timeout=15) + content_type = webpage.info().get_content_type() + charset = webpage.info().get_content_charset() + if not charset or not content_type in ('text/html', 'text/xml', + 'application/xhtml+xml'): + continue + content = webpage.read().decode(charset) + title = str(content).split('')[1].split('')[0] + title = html.unescape(title) + io.send_line("PRIVMSG " + target + " :page title for url: " + title) + +io = IO(servernet, port) io.send_line("NICK " + nickname) io.send_line("USER " + username + " 0 * : ") io.send_line("JOIN " + channel) @@ -97,15 +114,6 @@ while 1: if receiver != nickname: target = receiver msg = str.join(" ", tokens[3:])[1:] - matches = re.findall("(https?://[^\s]+)", msg) - for i in range(len(matches)): - url = matches[i] - webpage = urllib.request.urlopen(url) - charset = webpage.info().get_content_charset() - content = webpage.read().decode(charset) - title = str(content).split('')[1].split('')[0] - title = html.unescape(title) - io.send_line("PRIVMSG " - + target + " :page title for url: " + title) + url_check(msg) if tokens[0] == "PING": io.send_line("PONG " + tokens[1])