]>
jfr.im git - erebus.git/blob - modules/youtube.py
1 # Erebus IRC bot - Author: Erebus Team
3 # This file is released into the public domain; see http://unlicense.org/
7 'author': 'Erebus Team',
8 'license': 'public domain',
9 'compatible': [1], # compatible module API versions
10 'depends': [], # other modules required to work properly?
15 lib
= modlib
.modlib(__name__
)
16 modstart
= lib
.modstart
23 from BeautifulSoup
import BeautifulSoup
26 url_regex
= re
.compile('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
28 @lib.hooknum("PRIVMSG")
29 def privmsg_hook(bot
, line
):
31 linetx
= line
.split(None, 3)[3][1:]
35 if checkfor
not in line
:
36 return # doesn't concern us
38 for url
in url_regex
.findall(linetx
):
40 html_parser
= HTMLParser
.HTMLParser()
41 respdata
= urllib2
.urlopen(url
).read()
42 soup
= BeautifulSoup(respdata
)
43 bot
.msg(line
.split()[2], BeautifulSoup(soup
.title
.string
, convertEntities
=BeautifulSoup
.HTML_ENTITIES
))