This repository has been archived on 2023-04-13. You can view files and clone it, but cannot push or open issues or pull requests.
CloudBot/plugins/fmylife.py

34 lines
897 B
Python
Raw Normal View History

from util import hook, http
from bs4 import BeautifulSoup
fml_cache = []
def refresh_cache():
2012-04-04 01:13:58 +02:00
""" gets a page of random FMLs and puts them into a dictionary """
2012-04-23 01:58:19 +02:00
page = http.get('http://www.fmylife.com/random/')
soup = BeautifulSoup(page, 'lxml')
for e in soup.find_all('div', {'class': 'post article'}):
id = int(e['id'])
text = ''.join(e.find('p').find_all(text=True))
2012-03-30 01:58:47 +02:00
text = http.unescape(text)
fml_cache.append((id, text))
# do an initial refresh of the cache
refresh_cache()
@hook.command(autohelp=False)
def fml(inp, reply=None):
2012-05-16 05:07:27 +02:00
"fml -- Gets a random quote from fmyfife.com."
# grab the last item in the fml cache and remove it
id, text = fml_cache.pop()
# reply with the fml we grabbed
reply('(#%d) %s' % (id, text))
# refresh fml cache if its getting empty
if len(fml_cache) < 3:
refresh_cache()