aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Pipfile2
-rw-r--r--Pipfile.lock50
-rw-r--r--bot/bot.py14
-rw-r--r--bot/seasons/__init__.py2
-rw-r--r--bot/seasons/christmas/adventofcode.py4
-rw-r--r--bot/seasons/evergreen/error_handler.py104
-rw-r--r--bot/seasons/evergreen/fun.py4
-rw-r--r--bot/seasons/evergreen/snakes/__init__.py2
-rw-r--r--bot/seasons/evergreen/snakes/snakes_cog.py9
-rw-r--r--bot/seasons/evergreen/uptime.py4
-rw-r--r--bot/seasons/halloween/candy_collection.py6
-rw-r--r--bot/seasons/halloween/hacktoberstats.py4
-rw-r--r--bot/seasons/halloween/halloween_facts.py5
-rw-r--r--bot/seasons/halloween/halloweenify.py4
-rw-r--r--bot/seasons/halloween/monstersurvey.py6
-rw-r--r--bot/seasons/halloween/scarymovie.py4
-rw-r--r--bot/seasons/halloween/spookyavatar.py4
-rw-r--r--bot/seasons/halloween/spookygif.py4
-rw-r--r--bot/seasons/halloween/spookyreact.py6
-rw-r--r--bot/seasons/halloween/spookysound.py4
-rw-r--r--bot/seasons/season.py2
-rw-r--r--bot/seasons/valentines/be_my_valentine.py4
-rw-r--r--bot/seasons/valentines/lovecalculator.py5
-rw-r--r--bot/seasons/valentines/movie_generator.py4
-rw-r--r--bot/seasons/valentines/myvalenstate.py4
-rw-r--r--bot/seasons/valentines/pickuplines.py4
-rw-r--r--bot/seasons/valentines/savethedate.py4
-rw-r--r--bot/seasons/valentines/valentine_zodiac.py4
-rw-r--r--bot/seasons/valentines/whoisvalentine.py3
29 files changed, 130 insertions, 146 deletions
diff --git a/Pipfile b/Pipfile
index 81e335ec..4713ff80 100644
--- a/Pipfile
+++ b/Pipfile
@@ -4,7 +4,7 @@ verify_ssl = true
name = "pypi"
[packages]
-discord-py = {ref = "3f06f24",git = "https://github.com/Rapptz/discord.py",editable = true}
+discord-py = {ref = "42a7c4f",git = "https://github.com/Rapptz/discord.py",editable = true}
arrow = "*"
beautifulsoup4 = "*"
aiodns = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index 582d2a10..27318993 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "a024c71a482341a28d5107025d16ab28b3c0f049f998c5bc33a2da21ceab4d4e"
+ "sha256": "d8e3a7f796632bf80bc0c0b8ed2162d3f39aa91e8afa424d3ae85f2210a71923"
},
"pipfile-spec": 6,
"requires": {
@@ -125,7 +125,7 @@
"discord-py": {
"editable": true,
"git": "https://github.com/Rapptz/discord.py",
- "ref": "3f06f247c039a23948e7bb0014ea31db533b4ba2"
+ "ref": "42a7c4f7e5caa7baf555e86b52249419ce33acfc"
},
"fuzzywuzzy": {
"hashes": [
@@ -267,29 +267,29 @@
},
"websockets": {
"hashes": [
- "sha256:0e2f7d6567838369af074f0ef4d0b802d19fa1fee135d864acc656ceefa33136",
- "sha256:2a16dac282b2fdae75178d0ed3d5b9bc3258dabfae50196cbb30578d84b6f6a6",
- "sha256:5a1fa6072405648cb5b3688e9ed3b94be683ce4a4e5723e6f5d34859dee495c1",
- "sha256:5c1f55a1274df9d6a37553fef8cff2958515438c58920897675c9bc70f5a0538",
- "sha256:669d1e46f165e0ad152ed8197f7edead22854a6c90419f544e0f234cc9dac6c4",
- "sha256:695e34c4dbea18d09ab2c258994a8bf6a09564e762655408241f6a14592d2908",
- "sha256:6b2e03d69afa8d20253455e67b64de1a82ff8612db105113cccec35d3f8429f0",
- "sha256:79ca7cdda7ad4e3663ea3c43bfa8637fc5d5604c7737f19a8964781abbd1148d",
- "sha256:7fd2dd9a856f72e6ed06f82facfce01d119b88457cd4b47b7ae501e8e11eba9c",
- "sha256:82c0354ac39379d836719a77ee360ef865377aa6fdead87909d50248d0f05f4d",
- "sha256:8f3b956d11c5b301206382726210dc1d3bee1a9ccf7aadf895aaf31f71c3716c",
- "sha256:91ec98640220ae05b34b79ee88abf27f97ef7c61cf525eec57ea8fcea9f7dddb",
- "sha256:952be9540d83dba815569d5cb5f31708801e0bbfc3a8c5aef1890b57ed7e58bf",
- "sha256:99ac266af38ba1b1fe13975aea01ac0e14bb5f3a3200d2c69f05385768b8568e",
- "sha256:9fa122e7adb24232247f8a89f2d9070bf64b7869daf93ac5e19546b409e47e96",
- "sha256:a0873eadc4b8ca93e2e848d490809e0123eea154aa44ecd0109c4d0171869584",
- "sha256:cb998bd4d93af46b8b49ecf5a72c0a98e5cc6d57fdca6527ba78ad89d6606484",
- "sha256:e02e57346f6a68523e3c43bbdf35dde5c440318d1f827208ae455f6a2ace446d",
- "sha256:e79a5a896bcee7fff24a788d72e5c69f13e61369d055f28113e71945a7eb1559",
- "sha256:ee55eb6bcf23ecc975e6b47c127c201b913598f38b6a300075f84eeef2d3baff",
- "sha256:f1414e6cbcea8d22843e7eafdfdfae3dd1aba41d1945f6ca66e4806c07c4f454"
- ],
- "version": "==6.0"
+ "sha256:04b42a1b57096ffa5627d6a78ea1ff7fad3bc2c0331ffc17bc32a4024da7fea0",
+ "sha256:08e3c3e0535befa4f0c4443824496c03ecc25062debbcf895874f8a0b4c97c9f",
+ "sha256:10d89d4326045bf5e15e83e9867c85d686b612822e4d8f149cf4840aab5f46e0",
+ "sha256:232fac8a1978fc1dead4b1c2fa27c7756750fb393eb4ac52f6bc87ba7242b2fa",
+ "sha256:4bf4c8097440eff22bc78ec76fe2a865a6e658b6977a504679aaf08f02c121da",
+ "sha256:51642ea3a00772d1e48fb0c492f0d3ae3b6474f34d20eca005a83f8c9c06c561",
+ "sha256:55d86102282a636e195dad68aaaf85b81d0bef449d7e2ef2ff79ac450bb25d53",
+ "sha256:564d2675682bd497b59907d2205031acbf7d3fadf8c763b689b9ede20300b215",
+ "sha256:5d13bf5197a92149dc0badcc2b699267ff65a867029f465accfca8abab95f412",
+ "sha256:5eda665f6789edb9b57b57a159b9c55482cbe5b046d7db458948370554b16439",
+ "sha256:5edb2524d4032be4564c65dc4f9d01e79fe8fad5f966e5b552f4e5164fef0885",
+ "sha256:79691794288bc51e2a3b8de2bc0272ca8355d0b8503077ea57c0716e840ebaef",
+ "sha256:7fcc8681e9981b9b511cdee7c580d5b005f3bb86b65bde2188e04a29f1d63317",
+ "sha256:8e447e05ec88b1b408a4c9cde85aa6f4b04f06aa874b9f0b8e8319faf51b1fee",
+ "sha256:90ea6b3e7787620bb295a4ae050d2811c807d65b1486749414f78cfd6fb61489",
+ "sha256:9e13239952694b8b831088431d15f771beace10edfcf9ef230cefea14f18508f",
+ "sha256:d40f081187f7b54d7a99d8a5c782eaa4edc335a057aa54c85059272ed826dc09",
+ "sha256:e1df1a58ed2468c7b7ce9a2f9752a32ad08eac2bcd56318625c3647c2cd2da6f",
+ "sha256:e98d0cec437097f09c7834a11c69d79fe6241729b23f656cfc227e93294fc242",
+ "sha256:f8d59627702d2ff27cb495ca1abdea8bd8d581de425c56e93bff6517134e0a9b",
+ "sha256:fc30cdf2e949a2225b012a7911d1d031df3d23e99b7eda7dfc982dc4a860dae9"
+ ],
+ "version": "==7.0"
},
"yarl": {
"hashes": [
diff --git a/bot/bot.py b/bot/bot.py
index 3cc57c3f..d60390c3 100644
--- a/bot/bot.py
+++ b/bot/bot.py
@@ -5,7 +5,6 @@ from typing import List
from aiohttp import AsyncResolver, ClientSession, TCPConnector
from discord import Embed
-from discord.ext import commands
from discord.ext.commands import Bot
from bot import constants
@@ -19,10 +18,7 @@ class SeasonalBot(Bot):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.http_session = ClientSession(
- connector=TCPConnector(
- resolver=AsyncResolver(),
- family=socket.AF_INET,
- )
+ connector=TCPConnector(resolver=AsyncResolver(), family=socket.AF_INET)
)
def load_extensions(self, exts: List[str]):
@@ -49,6 +45,7 @@ class SeasonalBot(Bot):
"""
Send an embed message to the devlog channel
"""
+
devlog = self.get_channel(constants.Channels.devlog)
if not devlog:
@@ -62,10 +59,3 @@ class SeasonalBot(Bot):
embed.set_author(name=title, icon_url=icon)
await devlog.send(embed=embed)
-
- async def on_command_error(self, context, exception):
- # Don't punish the user for getting the arguments wrong
- if isinstance(exception, commands.UserInputError):
- context.command.reset_cooldown(context)
- else:
- await super().on_command_error(context, exception)
diff --git a/bot/seasons/__init__.py b/bot/seasons/__init__.py
index c43334a4..1512fae2 100644
--- a/bot/seasons/__init__.py
+++ b/bot/seasons/__init__.py
@@ -9,4 +9,4 @@ log = logging.getLogger(__name__)
def setup(bot):
bot.add_cog(SeasonManager(bot))
- log.debug("SeasonManager cog loaded")
+ log.info("SeasonManager cog loaded")
diff --git a/bot/seasons/christmas/adventofcode.py b/bot/seasons/christmas/adventofcode.py
index a926a6cb..2995c3fd 100644
--- a/bot/seasons/christmas/adventofcode.py
+++ b/bot/seasons/christmas/adventofcode.py
@@ -108,7 +108,7 @@ async def day_countdown(bot: commands.Bot):
await asyncio.sleep(120)
-class AdventOfCode:
+class AdventOfCode(commands.Cog):
"""
Advent of Code festivities! Ho Ho Ho!
"""
@@ -730,4 +730,4 @@ def _error_embed_helper(title: str, description: str) -> discord.Embed:
def setup(bot: commands.Bot) -> None:
bot.add_cog(AdventOfCode(bot))
- log.info("Cog loaded: adventofcode")
+ log.info("AdventOfCode cog loaded")
diff --git a/bot/seasons/evergreen/error_handler.py b/bot/seasons/evergreen/error_handler.py
index 47e18a31..7774f06e 100644
--- a/bot/seasons/evergreen/error_handler.py
+++ b/bot/seasons/evergreen/error_handler.py
@@ -8,105 +8,97 @@ from discord.ext import commands
log = logging.getLogger(__name__)
-class CommandErrorHandler:
+class CommandErrorHandler(commands.Cog):
"""A error handler for the PythonDiscord server!"""
def __init__(self, bot):
self.bot = bot
+ @staticmethod
+ def revert_cooldown_counter(command, message):
+ """Undoes the last cooldown counter for user-error cases."""
+ if command._buckets.valid:
+ bucket = command._buckets.get_bucket(message)
+ bucket._tokens = min(bucket.rate, bucket._tokens + 1)
+ logging.debug(
+ "Cooldown counter reverted as the command was not used correctly."
+ )
+
+ @commands.Cog.listener()
async def on_command_error(self, ctx, error):
"""Activates when a command opens an error"""
if hasattr(ctx.command, 'on_error'):
return logging.debug(
- "A command error occured but "
- "the command had it's own error handler"
+ "A command error occured but the command had it's own error handler."
)
+
error = getattr(error, 'original', error)
+
if isinstance(error, commands.CommandNotFound):
return logging.debug(
- f"{ctx.author} called '{ctx.message.content}' "
- "but no command was found"
+ f"{ctx.author} called '{ctx.message.content}' but no command was found."
)
+
if isinstance(error, commands.UserInputError):
logging.debug(
- f"{ctx.author} called the command '{ctx.command}' "
- "but entered invalid input!"
+ f"{ctx.author} called the command '{ctx.command}' but entered invalid input!"
)
+
+ self.revert_cooldown_counter(ctx.command, ctx.message)
+
return await ctx.send(
- ":no_entry: The command you specified failed to run."
+ ":no_entry: The command you specified failed to run. "
"This is because the arguments you provided were invalid."
)
+
if isinstance(error, commands.CommandOnCooldown):
logging.debug(
- f"{ctx.author} called the command '{ctx.command}' "
- "but they were on cooldown!"
+ f"{ctx.author} called the command '{ctx.command}' but they were on cooldown!"
)
- seconds = error.retry_after
- remaining_minutes, remaining_seconds = divmod(seconds, 60)
- time_remaining = f'{int(remaining_minutes)} minutes {math.ceil(remaining_seconds)} seconds'
+ remaining_minutes, remaining_seconds = divmod(error.retry_after, 60)
+
return await ctx.send(
- "This command is on cooldown,"
- f" please retry in {time_remaining}."
+ "This command is on cooldown, please retry in "
+ f"{int(remaining_minutes)} minutes {math.ceil(remaining_seconds)} seconds."
)
+
if isinstance(error, commands.DisabledCommand):
logging.debug(
- f"{ctx.author} called the command '{ctx.command}' "
- "but the command was disabled!"
- )
- return await ctx.send(
- ":no_entry: This command has been disabled."
+ f"{ctx.author} called the command '{ctx.command}' but the command was disabled!"
)
+ return await ctx.send(":no_entry: This command has been disabled.")
+
if isinstance(error, commands.NoPrivateMessage):
logging.debug(
f"{ctx.author} called the command '{ctx.command}' "
"in a private message however the command was guild only!"
)
- return await ctx.author.send(
- ":no_entry: This command can only be used inside a server."
- )
+ return await ctx.author.send(":no_entry: This command can only be used in the server.")
+
if isinstance(error, commands.BadArgument):
- if ctx.command.qualified_name == 'tag list':
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' "
- "but entered an invalid user!"
- )
- return await ctx.send(
- "I could not find that member. Please try again."
- )
- else:
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' "
- "but entered a bad argument!"
- )
- return await ctx.send(
- "The argument you provided was invalid."
- )
- if isinstance(error, commands.CheckFailure):
+ self.revert_cooldown_counter(ctx.command, ctx.message)
+
logging.debug(
- f"{ctx.author} called the command '{ctx.command}' "
- "but the checks failed!"
- )
- return await ctx.send(
- ":no_entry: You are not authorized to use this command."
+ f"{ctx.author} called the command '{ctx.command}' but entered a bad argument!"
)
- print(
- f"Ignoring exception in command {ctx.command}:",
- file=sys.stderr
- )
+ return await ctx.send("The argument you provided was invalid.")
+
+ if isinstance(error, commands.CheckFailure):
+ logging.debug(f"{ctx.author} called the command '{ctx.command}' but the checks failed!")
+ return await ctx.send(":no_entry: You are not authorized to use this command.")
+
+ print(f"Ignoring exception in command {ctx.command}:", file=sys.stderr)
+
logging.warning(
f"{ctx.author} called the command '{ctx.command}' "
"however the command failed to run with the error:"
f"-------------\n{error}"
)
- traceback.print_exception(
- type(error),
- error,
- error.__traceback__,
- file=sys.stderr
- )
+
+ traceback.print_exception(type(error), error, error.__traceback__, file=sys.stderr)
def setup(bot):
bot.add_cog(CommandErrorHandler(bot))
- log.debug("CommandErrorHandler cog loaded")
+ log.info("CommandErrorHandler cog loaded")
diff --git a/bot/seasons/evergreen/fun.py b/bot/seasons/evergreen/fun.py
index 4da01dd1..9ef47331 100644
--- a/bot/seasons/evergreen/fun.py
+++ b/bot/seasons/evergreen/fun.py
@@ -8,7 +8,7 @@ from bot.constants import Emojis
log = logging.getLogger(__name__)
-class Fun:
+class Fun(commands.Cog):
"""
A collection of general commands for fun.
"""
@@ -35,4 +35,4 @@ class Fun:
# Required in order to load the cog, use the class name in the add_cog function.
def setup(bot):
bot.add_cog(Fun(bot))
- log.debug("Fun cog loaded")
+ log.info("Fun cog loaded")
diff --git a/bot/seasons/evergreen/snakes/__init__.py b/bot/seasons/evergreen/snakes/__init__.py
index 367aea4d..6fb1f673 100644
--- a/bot/seasons/evergreen/snakes/__init__.py
+++ b/bot/seasons/evergreen/snakes/__init__.py
@@ -7,4 +7,4 @@ log = logging.getLogger(__name__)
def setup(bot):
bot.add_cog(Snakes(bot))
- log.info("Cog loaded: Snakes")
+ log.info("Snakes cog loaded")
diff --git a/bot/seasons/evergreen/snakes/snakes_cog.py b/bot/seasons/evergreen/snakes/snakes_cog.py
index 57eb7a52..74d2ab4f 100644
--- a/bot/seasons/evergreen/snakes/snakes_cog.py
+++ b/bot/seasons/evergreen/snakes/snakes_cog.py
@@ -15,7 +15,7 @@ import aiohttp
import async_timeout
from PIL import Image, ImageDraw, ImageFont
from discord import Colour, Embed, File, Member, Message, Reaction
-from discord.ext.commands import BadArgument, Bot, Context, bot_has_permissions, group
+from discord.ext.commands import BadArgument, Bot, Cog, Context, bot_has_permissions, group
from bot.constants import ERROR_REPLIES, Tokens
from bot.decorators import locked
@@ -132,7 +132,7 @@ CARD = {
# endregion
-class Snakes:
+class Snakes(Cog):
"""
Commands related to snakes. These were created by our
community during the first code jam.
@@ -1187,8 +1187,3 @@ class Snakes:
await ctx.send(embed=embed)
# endregion
-
-
-def setup(bot):
- bot.add_cog(Snakes(bot))
- log.info("Cog loaded: Snakes")
diff --git a/bot/seasons/evergreen/uptime.py b/bot/seasons/evergreen/uptime.py
index 1321da19..3d2c7d03 100644
--- a/bot/seasons/evergreen/uptime.py
+++ b/bot/seasons/evergreen/uptime.py
@@ -9,7 +9,7 @@ from bot import start_time
log = logging.getLogger(__name__)
-class Uptime:
+class Uptime(commands.Cog):
"""
A cog for posting the bots uptime.
"""
@@ -35,4 +35,4 @@ class Uptime:
# Required in order to load the cog, use the class name in the add_cog function.
def setup(bot):
bot.add_cog(Uptime(bot))
- log.debug("Uptime cog loaded")
+ log.info("Uptime cog loaded")
diff --git a/bot/seasons/halloween/candy_collection.py b/bot/seasons/halloween/candy_collection.py
index 80f30a1b..6932097c 100644
--- a/bot/seasons/halloween/candy_collection.py
+++ b/bot/seasons/halloween/candy_collection.py
@@ -20,7 +20,7 @@ ADD_SKULL_REACTION_CHANCE = 50 # 2%
ADD_SKULL_EXISTING_REACTION_CHANCE = 20 # 5%
-class CandyCollection:
+class CandyCollection(commands.Cog):
def __init__(self, bot):
self.bot = bot
with open(json_location) as candy:
@@ -31,6 +31,7 @@ class CandyCollection:
userid = userinfo['userid']
self.get_candyinfo[userid] = userinfo
+ @commands.Cog.listener()
async def on_message(self, message):
"""
Randomly adds candy or skull to certain messages
@@ -54,6 +55,7 @@ class CandyCollection:
self.msg_reacted.append(d)
return await message.add_reaction('\N{CANDY}')
+ @commands.Cog.listener()
async def on_reaction_add(self, reaction, user):
"""
Add/remove candies from a person if the reaction satisfies criteria
@@ -231,4 +233,4 @@ class CandyCollection:
def setup(bot):
bot.add_cog(CandyCollection(bot))
- log.debug("CandyCollection cog loaded")
+ log.info("CandyCollection cog loaded")
diff --git a/bot/seasons/halloween/hacktoberstats.py b/bot/seasons/halloween/hacktoberstats.py
index 41cf10ee..81f11455 100644
--- a/bot/seasons/halloween/hacktoberstats.py
+++ b/bot/seasons/halloween/hacktoberstats.py
@@ -13,7 +13,7 @@ from discord.ext import commands
log = logging.getLogger(__name__)
-class HacktoberStats:
+class HacktoberStats(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.link_json = Path("bot", "resources", "github_links.json")
@@ -332,4 +332,4 @@ class HacktoberStats:
def setup(bot):
bot.add_cog(HacktoberStats(bot))
- log.debug("HacktoberStats cog loaded")
+ log.info("HacktoberStats cog loaded")
diff --git a/bot/seasons/halloween/halloween_facts.py b/bot/seasons/halloween/halloween_facts.py
index 098ee432..9224cc57 100644
--- a/bot/seasons/halloween/halloween_facts.py
+++ b/bot/seasons/halloween/halloween_facts.py
@@ -25,7 +25,7 @@ PUMPKIN_ORANGE = discord.Color(0xFF7518)
INTERVAL = timedelta(hours=6).total_seconds()
-class HalloweenFacts:
+class HalloweenFacts(commands.Cog):
def __init__(self, bot):
self.bot = bot
@@ -35,6 +35,7 @@ class HalloweenFacts:
self.facts = list(enumerate(self.halloween_facts))
random.shuffle(self.facts)
+ @commands.Cog.listener()
async def on_ready(self):
self.channel = self.bot.get_channel(Hacktoberfest.channel_id)
self.bot.loop.create_task(self._fact_publisher_task())
@@ -63,4 +64,4 @@ class HalloweenFacts:
def setup(bot):
bot.add_cog(HalloweenFacts(bot))
- log.debug("HalloweenFacts cog loaded")
+ log.info("HalloweenFacts cog loaded")
diff --git a/bot/seasons/halloween/halloweenify.py b/bot/seasons/halloween/halloweenify.py
index cda07472..0d6964a5 100644
--- a/bot/seasons/halloween/halloweenify.py
+++ b/bot/seasons/halloween/halloweenify.py
@@ -10,7 +10,7 @@ from discord.ext.commands.cooldowns import BucketType
log = logging.getLogger(__name__)
-class Halloweenify:
+class Halloweenify(commands.Cog):
"""
A cog to change a invokers nickname to a spooky one!
"""
@@ -52,4 +52,4 @@ class Halloweenify:
def setup(bot):
bot.add_cog(Halloweenify(bot))
- log.debug("Halloweenify cog loaded")
+ log.info("Halloweenify cog loaded")
diff --git a/bot/seasons/halloween/monstersurvey.py b/bot/seasons/halloween/monstersurvey.py
index 08873f24..2b251b90 100644
--- a/bot/seasons/halloween/monstersurvey.py
+++ b/bot/seasons/halloween/monstersurvey.py
@@ -4,7 +4,7 @@ import os
from discord import Embed
from discord.ext import commands
-from discord.ext.commands import Bot, Context
+from discord.ext.commands import Bot, Cog, Context
log = logging.getLogger(__name__)
@@ -14,7 +14,7 @@ EMOJIS = {
}
-class MonsterSurvey:
+class MonsterSurvey(Cog):
"""
Vote for your favorite monster!
This command allows users to vote for their favorite listed monster.
@@ -215,4 +215,4 @@ class MonsterSurvey:
def setup(bot):
bot.add_cog(MonsterSurvey(bot))
- log.debug("MonsterSurvey cog loaded")
+ log.info("MonsterSurvey cog loaded")
diff --git a/bot/seasons/halloween/scarymovie.py b/bot/seasons/halloween/scarymovie.py
index b280781e..dcff4f58 100644
--- a/bot/seasons/halloween/scarymovie.py
+++ b/bot/seasons/halloween/scarymovie.py
@@ -13,7 +13,7 @@ TMDB_API_KEY = environ.get('TMDB_API_KEY')
TMDB_TOKEN = environ.get('TMDB_TOKEN')
-class ScaryMovie:
+class ScaryMovie(commands.Cog):
"""
Selects a random scary movie and embeds info into discord chat
"""
@@ -138,4 +138,4 @@ class ScaryMovie:
def setup(bot):
bot.add_cog(ScaryMovie(bot))
- log.debug("ScaryMovie cog loaded")
+ log.info("ScaryMovie cog loaded")
diff --git a/bot/seasons/halloween/spookyavatar.py b/bot/seasons/halloween/spookyavatar.py
index a1173740..032ad352 100644
--- a/bot/seasons/halloween/spookyavatar.py
+++ b/bot/seasons/halloween/spookyavatar.py
@@ -12,7 +12,7 @@ from bot.utils.halloween import spookifications
log = logging.getLogger(__name__)
-class SpookyAvatar:
+class SpookyAvatar(commands.Cog):
"""
A cog that spookifies an avatar.
@@ -55,4 +55,4 @@ class SpookyAvatar:
def setup(bot):
bot.add_cog(SpookyAvatar(bot))
- log.debug("SpookyAvatar cog loaded")
+ log.info("SpookyAvatar cog loaded")
diff --git a/bot/seasons/halloween/spookygif.py b/bot/seasons/halloween/spookygif.py
index 1233773b..c11d5ecb 100644
--- a/bot/seasons/halloween/spookygif.py
+++ b/bot/seasons/halloween/spookygif.py
@@ -9,7 +9,7 @@ from bot.constants import Tokens
log = logging.getLogger(__name__)
-class SpookyGif:
+class SpookyGif(commands.Cog):
"""
A cog to fetch a random spooky gif from the web!
"""
@@ -40,4 +40,4 @@ class SpookyGif:
def setup(bot):
bot.add_cog(SpookyGif(bot))
- log.debug("SpookyGif cog loaded")
+ log.info("SpookyGif cog loaded")
diff --git a/bot/seasons/halloween/spookyreact.py b/bot/seasons/halloween/spookyreact.py
index f63cd7e5..3b4e3fdf 100644
--- a/bot/seasons/halloween/spookyreact.py
+++ b/bot/seasons/halloween/spookyreact.py
@@ -2,6 +2,7 @@ import logging
import re
import discord
+from discord.ext.commands import Cog
log = logging.getLogger(__name__)
@@ -16,7 +17,7 @@ SPOOKY_TRIGGERS = {
}
-class SpookyReact:
+class SpookyReact(Cog):
"""
A cog that makes the bot react to message triggers.
@@ -25,6 +26,7 @@ class SpookyReact:
def __init__(self, bot):
self.bot = bot
+ @Cog.listener()
async def on_message(self, ctx: discord.Message):
"""
A command to send the seasonalbot github project
@@ -69,4 +71,4 @@ class SpookyReact:
def setup(bot):
bot.add_cog(SpookyReact(bot))
- log.debug("SpookyReact cog loaded")
+ log.info("SpookyReact cog loaded")
diff --git a/bot/seasons/halloween/spookysound.py b/bot/seasons/halloween/spookysound.py
index 4cab1239..1e430dab 100644
--- a/bot/seasons/halloween/spookysound.py
+++ b/bot/seasons/halloween/spookysound.py
@@ -10,7 +10,7 @@ from bot.constants import Hacktoberfest
log = logging.getLogger(__name__)
-class SpookySound:
+class SpookySound(commands.Cog):
"""
A cog that plays a spooky sound in a voice channel on command.
"""
@@ -47,4 +47,4 @@ class SpookySound:
def setup(bot):
bot.add_cog(SpookySound(bot))
- log.debug("SpookySound cog loaded")
+ log.info("SpookySound cog loaded")
diff --git a/bot/seasons/season.py b/bot/seasons/season.py
index ae12057f..b7892606 100644
--- a/bot/seasons/season.py
+++ b/bot/seasons/season.py
@@ -352,7 +352,7 @@ class SeasonBase:
await bot.send_log("SeasonalBot Loaded!", f"Active Season: **{self.name_clean}**")
-class SeasonManager:
+class SeasonManager(commands.Cog):
"""
A cog for managing seasons.
"""
diff --git a/bot/seasons/valentines/be_my_valentine.py b/bot/seasons/valentines/be_my_valentine.py
index 0046ceb4..4e2182c3 100644
--- a/bot/seasons/valentines/be_my_valentine.py
+++ b/bot/seasons/valentines/be_my_valentine.py
@@ -15,7 +15,7 @@ log = logging.getLogger(__name__)
HEART_EMOJIS = [":heart:", ":gift_heart:", ":revolving_hearts:", ":sparkling_heart:", ":two_hearts:"]
-class BeMyValentine:
+class BeMyValentine(commands.Cog):
"""
A cog that sends valentines to other users !
"""
@@ -238,4 +238,4 @@ class BeMyValentine:
def setup(bot):
bot.add_cog(BeMyValentine(bot))
- log.debug("Be My Valentine cog loaded")
+ log.info("BeMyValentine cog loaded")
diff --git a/bot/seasons/valentines/lovecalculator.py b/bot/seasons/valentines/lovecalculator.py
index 4df33b93..0662cf5b 100644
--- a/bot/seasons/valentines/lovecalculator.py
+++ b/bot/seasons/valentines/lovecalculator.py
@@ -9,7 +9,7 @@ from typing import Union
import discord
from discord import Member
from discord.ext import commands
-from discord.ext.commands import BadArgument, clean_content
+from discord.ext.commands import BadArgument, Cog, clean_content
from bot.constants import Roles
@@ -20,7 +20,7 @@ with Path('bot', 'resources', 'valentines', 'love_matches.json').open() as file:
LOVE_DATA = sorted((int(key), value) for key, value in LOVE_DATA.items())
-class LoveCalculator:
+class LoveCalculator(Cog):
"""
A cog for calculating the love between two people
"""
@@ -104,3 +104,4 @@ class LoveCalculator:
def setup(bot):
bot.add_cog(LoveCalculator(bot))
+ log.info("LoveCalculator cog loaded")
diff --git a/bot/seasons/valentines/movie_generator.py b/bot/seasons/valentines/movie_generator.py
index b52eba7f..8fce011b 100644
--- a/bot/seasons/valentines/movie_generator.py
+++ b/bot/seasons/valentines/movie_generator.py
@@ -11,7 +11,7 @@ TMDB_API_KEY = environ.get("TMDB_API_KEY")
log = logging.getLogger(__name__)
-class RomanceMovieFinder:
+class RomanceMovieFinder(commands.Cog):
"""
A cog that returns a random romance movie suggestion to a user
"""
@@ -63,4 +63,4 @@ class RomanceMovieFinder:
def setup(bot):
bot.add_cog(RomanceMovieFinder(bot))
- log.debug("Random romance movie cog loaded!")
+ log.info("RomanceMovieFinder cog loaded")
diff --git a/bot/seasons/valentines/myvalenstate.py b/bot/seasons/valentines/myvalenstate.py
index 9f06553d..7d9f3a59 100644
--- a/bot/seasons/valentines/myvalenstate.py
+++ b/bot/seasons/valentines/myvalenstate.py
@@ -15,7 +15,7 @@ with open(Path('bot', 'resources', 'valentines', 'valenstates.json'), 'r') as fi
STATES = json.load(file)
-class MyValenstate:
+class MyValenstate(commands.Cog):
def __init__(self, bot):
self.bot = bot
@@ -82,4 +82,4 @@ class MyValenstate:
def setup(bot):
bot.add_cog(MyValenstate(bot))
- log.debug("MyValenstate cog loaded")
+ log.info("MyValenstate cog loaded")
diff --git a/bot/seasons/valentines/pickuplines.py b/bot/seasons/valentines/pickuplines.py
index 4462478f..e1abb4e5 100644
--- a/bot/seasons/valentines/pickuplines.py
+++ b/bot/seasons/valentines/pickuplines.py
@@ -14,7 +14,7 @@ with open(Path('bot', 'resources', 'valentines', 'pickup_lines.json'), 'r', enco
pickup_lines = load(f)
-class PickupLine:
+class PickupLine(commands.Cog):
"""
A cog that gives random cheesy pickup lines.
"""
@@ -41,4 +41,4 @@ class PickupLine:
def setup(bot):
bot.add_cog(PickupLine(bot))
- log.info('Pickup line cog loaded')
+ log.info('PickupLine cog loaded')
diff --git a/bot/seasons/valentines/savethedate.py b/bot/seasons/valentines/savethedate.py
index f460283a..fbc9eb82 100644
--- a/bot/seasons/valentines/savethedate.py
+++ b/bot/seasons/valentines/savethedate.py
@@ -16,7 +16,7 @@ with open(Path('bot', 'resources', 'valentines', 'date_ideas.json'), 'r', encodi
VALENTINES_DATES = load(f)
-class SaveTheDate:
+class SaveTheDate(commands.Cog):
"""
A cog that gives random suggestion, for a valentines date !
"""
@@ -42,4 +42,4 @@ class SaveTheDate:
def setup(bot):
bot.add_cog(SaveTheDate(bot))
- log.debug("Save the date cog loaded")
+ log.info("SaveTheDate cog loaded")
diff --git a/bot/seasons/valentines/valentine_zodiac.py b/bot/seasons/valentines/valentine_zodiac.py
index 06c0237d..33fc739a 100644
--- a/bot/seasons/valentines/valentine_zodiac.py
+++ b/bot/seasons/valentines/valentine_zodiac.py
@@ -14,7 +14,7 @@ LETTER_EMOJI = ':love_letter:'
HEART_EMOJIS = [":heart:", ":gift_heart:", ":revolving_hearts:", ":sparkling_heart:", ":two_hearts:"]
-class ValentineZodiac:
+class ValentineZodiac(commands.Cog):
"""
A cog that returns a counter compatible zodiac sign to the given user's zodiac sign.
"""
@@ -56,4 +56,4 @@ class ValentineZodiac:
def setup(bot):
bot.add_cog(ValentineZodiac(bot))
- log.debug("Valentine Zodiac cog loaded")
+ log.info("ValentineZodiac cog loaded")
diff --git a/bot/seasons/valentines/whoisvalentine.py b/bot/seasons/valentines/whoisvalentine.py
index 2fe07aba..59a13ca3 100644
--- a/bot/seasons/valentines/whoisvalentine.py
+++ b/bot/seasons/valentines/whoisvalentine.py
@@ -14,7 +14,7 @@ with open(Path("bot", "resources", "valentines", "valentine_facts.json"), "r") a
FACTS = json.load(file)
-class ValentineFacts:
+class ValentineFacts(commands.Cog):
def __init__(self, bot):
self.bot = bot
@@ -51,3 +51,4 @@ class ValentineFacts:
def setup(bot):
bot.add_cog(ValentineFacts(bot))
+ log.info("ValentineFacts cog loaded")