From 5fd6376bb4e60dbfdd639dd55ef99e9badd0440a Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 8 Jan 2016 20:04:35 +0100 Subject: [PATCH] =?UTF-8?q?introducir=20la=20traducci=C3=B3n=20plugin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- local_config.ini.spec | 1 + plugins/commands.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/local_config.ini.spec b/local_config.ini.spec index de1059a..3c538a3 100644 --- a/local_config.ini.spec +++ b/local_config.ini.spec @@ -6,6 +6,7 @@ src-url = string bot_nickname = string bot_owner = string +bot_owner_email = string # rate limiting hist_max_count = integer(default=5) diff --git a/plugins/commands.py b/plugins/commands.py index 31d46aa..95da621 100644 --- a/plugins/commands.py +++ b/plugins/commands.py @@ -1,6 +1,7 @@ import json import logging import random +import re import time import traceback import unicodedata @@ -758,3 +759,24 @@ def search_the_web(argv, **args): def raise_an_error(argv, **args): if args['reply_user'] == config.conf_get("bot_owner"): raise RuntimeError("Exception for debugging") + + +@pluginfunction('translate', 'translate text fragments', ptypes_COMMAND) +def translate(argv, **args): + + if len(argv) < 2 or not re.match('[a-z]{2}\|[a-z]{2}', argv[0]): + return {'msg': 'Usage: translate en|de my favorite bot'} + else: + pair = argv[0] + + words = ' '.join(argv[1:]) + url = 'http://api.mymemory.translated.net/get' + params = { + 'q': words, + 'langpair': pair, + 'de': config.conf_get('bot_owner_email') + } + response = requests.get(url, params=params).json() + return { + 'msg': 'translation: {}'.format(response['responseData']['translatedText']) + }