From e5a16c908e60b22c571e18b653d1032393ecd3b9 Mon Sep 17 00:00:00 2001 From: Bobloy Date: Wed, 2 May 2018 16:34:19 -0400 Subject: [PATCH] pep8 --- chatter/chatter.py | 49 +++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/chatter/chatter.py b/chatter/chatter.py index f6999fe..3678324 100644 --- a/chatter/chatter.py +++ b/chatter/chatter.py @@ -1,16 +1,13 @@ import asyncio -from typing import List, Union +from datetime import datetime, timedelta import discord from discord.ext import commands - from redbot.core import Config -from redbot.core.bot import Red from .source import ChatBot from .source.trainers import ListTrainer -from datetime import datetime,timedelta class Chatter: """ @@ -24,17 +21,17 @@ class Chatter: default_guild = { "whitelist": None, "days": 1 - } - + } + self.chatbot = ChatBot("ChatterBot") self.chatbot.set_trainer(ListTrainer) self.config.register_global(**default_global) self.config.register_guild(**default_guild) - + self.loop = asyncio.get_event_loop() - - async def _get_conversation(self, ctx, in_channel: discord.TextChannel=None): + + async def _get_conversation(self, ctx, in_channel: discord.TextChannel = None): """ Compiles all conversation in the Guild this bot can get it's hands on Currently takes a stupid long time @@ -42,9 +39,8 @@ class Chatter: """ out = [] after = datetime.today() - timedelta(days=(await self.config.guild(ctx.guild).days())) - - for channel in ctx.guild.text_channels: + for channel in ctx.guild.text_channels: if in_channel: channel = in_channel await ctx.send("Gathering {}".format(channel.mention)) @@ -52,7 +48,7 @@ class Chatter: try: async for message in channel.history(limit=None, reverse=True, after=after): if user == message.author: - out[-1] += "\n"+message.clean_content + out[-1] += "\n" + message.clean_content else: user = message.author out.append(message.clean_content) @@ -60,12 +56,12 @@ class Chatter: pass except discord.HTTPException: pass - + if in_channel: break - + return out - + def _train(self, data): try: self.chatbot.train(data) @@ -80,45 +76,46 @@ class Chatter: """ if ctx.invoked_subcommand is None: await ctx.send_help() + @chatter.command() async def age(self, ctx: commands.Context, days: int): """ Sets the number of days to look back Will train on 1 day otherwise """ - + await self.config.guild(ctx.guild).days.set(days) await ctx.send("Success") - + @chatter.command() async def train(self, ctx: commands.Context, channel: discord.TextChannel = None): """ Trains the bot based on language in this guild """ - + conversation = await self._get_conversation(ctx, channel) - + if not conversation: await ctx.send("Failed to gather training data") return - + await ctx.send("Gather successful! Training begins now\n(**This will take a long time, be patient**)") - embed=discord.Embed(title="Loading") + embed = discord.Embed(title="Loading") embed.set_image(url="http://www.loop.universaleverything.com/animations/1295.gif") temp_message = await ctx.send(embed=embed) future = await self.loop.run_in_executor(None, self._train, conversation) - + try: await temp_message.delete() except: pass - + if future: await ctx.send("Training successful!") else: await ctx.send("Error occurred :(") - - async def on_message(self, message): + + async def on_message(self, message): """ Credit to https://github.com/Twentysix26/26-Cogs/blob/master/cleverbot/cleverbot.py for on_message recognition of @bot @@ -137,5 +134,3 @@ class Chatter: if not response: response = ":thinking:" await channel.send(response) - -