[V3] Cleanup

This commit is contained in:
aikaterna
2018-08-08 21:54:06 -07:00
parent aabe0cd6a5
commit be13d0f686
21 changed files with 431 additions and 175 deletions

12
wolfram/info.json Normal file
View File

@@ -0,0 +1,12 @@
{
"author": [
"aikaterna"
],
"description": "Query Wolfram|Alpha for answers. Requires a free API key. Originally by Paddo.",
"install_msg": "Thanks for installing, have fun.",
"short": "Query Wolfram|Alpha for answers.",
"tags": [
"wolfram"
],
"type": "COG"
}

View File

@@ -6,28 +6,26 @@ import xml.etree.ElementTree as ET
class Wolfram:
"""Ask Wolfram Alpha a question."""
def __init__(self, bot):
self.bot = bot
default_global = {
"WOLFRAM_API_KEY": None,
}
default_global = {"WOLFRAM_API_KEY": None}
self.config = Config.get_conf(self, 2788801004)
self.config.register_guild(**default_global)
@commands.command(name='wolfram', aliases=['ask'])
@commands.command(name="wolfram", aliases=["ask"])
async def _wolfram(self, ctx, *arguments: str):
"""
Ask Wolfram Alpha any question.
"""
api_key = await self.config.WOLFRAM_API_KEY()
if api_key:
url = 'http://api.wolframalpha.com/v2/query?'
query = ' '.join(arguments)
payload = {'input': query, 'appid': api_key}
headers = {'user-agent': 'Red-cog/2.0.0'}
url = "http://api.wolframalpha.com/v2/query?"
query = " ".join(arguments)
payload = {"input": query, "appid": api_key}
headers = {"user-agent": "Red-cog/2.0.0"}
conn = aiohttp.TCPConnector(verify_ssl=False)
session = aiohttp.ClientSession(connector=conn)
async with session.get(url, params=payload, headers=headers) as r:
@@ -35,18 +33,20 @@ class Wolfram:
session.close()
root = ET.fromstring(result)
a = []
for pt in root.findall('.//plaintext'):
for pt in root.findall(".//plaintext"):
if pt.text:
a.append(pt.text.capitalize())
if len(a) < 1:
message = 'There is as yet insufficient data for a meaningful answer.'
message = "There is as yet insufficient data for a meaningful answer."
else:
message = '\n'.join(a[0:3])
message = "\n".join(a[0:3])
else:
message = 'No API key set for Wolfram Alpha. Get one at http://products.wolframalpha.com/api/'
await ctx.send('```{0}```'.format(message))
message = (
"No API key set for Wolfram Alpha. Get one at http://products.wolframalpha.com/api/"
)
await ctx.send("```{0}```".format(message))
@commands.command(name='setwolframapi', aliases=['setwolfram'])
@commands.command(name="setwolframapi", aliases=["setwolfram"])
@checks.is_owner()
async def _setwolframapi(self, ctx, key: str):
"""