From 4ad9736f3fa60f8c4cd760c8beb8b78c7f736074 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 22 Dec 2015 13:42:44 +0100 Subject: [PATCH] more cake --- common.py | 13 +++++++++++++ plugins.py | 8 +++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/common.py b/common.py index 2010b60..e8bf47c 100644 --- a/common.py +++ b/common.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- """ Common functions for urlbot """ import html.parser +import json import logging import re import time @@ -192,3 +193,15 @@ def extract_title(url): return expanded_html else: return None + + +def giphy(subject, api_key): + url = 'http://api.giphy.com/v1/gifs/random?tag={}&api_key={}&limit=1&offset=0'.format(subject, api_key) + response = urllib.request.urlopen(url) + giphy_url = None + try: + data = json.loads(response.read().decode('utf-8')) + giphy_url = data['data']['image_url'] + except: + pass + return giphy_url diff --git a/plugins.py b/plugins.py index 09c9e26..532ba3e 100644 --- a/plugins.py +++ b/plugins.py @@ -11,7 +11,7 @@ import urllib.parse import urllib.request from common import RATE_GLOBAL, RATE_NO_SILENCE, VERSION, RATE_INTERACTIVE, BUFSIZ, \ - USER_AGENT, extract_title, RATE_FUN, RATE_NO_LIMIT, RATE_URL + USER_AGENT, extract_title, RATE_FUN, RATE_NO_LIMIT, RATE_URL, giphy from config import runtimeconf_get import config from string_constants import excuses, moin_strings_hi, moin_strings_bye, cakes @@ -603,8 +603,10 @@ def command_usersetting(argv, **args): @pluginfunction('cake', 'displays a cake ASCII art', ptypes_COMMAND, ratelimit_class=RATE_FUN | RATE_GLOBAL) def command_cake(argv, **args): - if 'cake' != argv[0]: - return + if 'please' in argv: + return { + 'msg': 'cake for {}: {}'.format(args['reply_user'], giphy('cake', 'dc6zaTOxFJmzC')) + } return { 'msg': args['reply_user'] + ': %s' % (random.sample(cakes, 1)[0])