Remove commands.Cog backwards compatibility, and reformatting (#98)

* Unneeded requirements

* No need for lambda or function

* Remove Cog backwards compatibility, and reformatting
This commit is contained in:
bobloy 2020-07-20 15:25:14 -04:00 committed by GitHub
parent 6cc5162f56
commit 9af8601124
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 98 additions and 175 deletions

View File

@ -1,21 +1,19 @@
import asyncio
import random
from datetime import datetime, timedelta
from typing import Any
import discord
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
from redbot.core.data_manager import cog_data_path
from redbot.core.utils.chat_formatting import pagify, box
from redbot.core.utils.chat_formatting import box, pagify
DEFAULT_MESSAGES = [
# "Example message. Uncomment and overwrite to use",
# "Example message 2. Each message is in quotes and separated by a comma"
]
Cog: Any = getattr(commands, "Cog", object)
class AnnounceDaily(Cog):
"""

View File

@ -10,10 +10,8 @@ from redbot.core import commands
from redbot.core.bot import Red
from redbot.core.utils.chat_formatting import pagify, box
Cog: Any = getattr(commands, "Cog", object)
class CCRole(Cog):
class CCRole(commands.Cog):
"""
Custom commands
Creates commands used to display text and adjust roles

View File

@ -3,17 +3,14 @@ import pathlib
from datetime import datetime, timedelta
import discord
from redbot.core import Config
from redbot.core import commands
from redbot.core import Config, commands
from redbot.core.commands import Cog
from redbot.core.data_manager import cog_data_path
from .chatterbot import ChatBot
from .chatterbot.comparisons import levenshtein_distance
from .chatterbot.response_selection import get_first_response
from .chatterbot.trainers import ListTrainer
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class Chatter(Cog):
@ -152,9 +149,11 @@ class Chatter(Cog):
Trains the bot based on language in this guild
"""
await ctx.send("Warning: The cog may use significant RAM or CPU if trained on large data sets.\n"
"Additionally, large sets will use more disk space to save the trained data.\n\n"
"If you experience issues, clear your trained data and train again on a smaller scope.")
await ctx.send(
"Warning: The cog may use significant RAM or CPU if trained on large data sets.\n"
"Additionally, large sets will use more disk space to save the trained data.\n\n"
"If you experience issues, clear your trained data and train again on a smaller scope."
)
conversation = await self._get_conversation(ctx, channel)

View File

@ -1,12 +1,9 @@
import discord
from pylint import epylint as lint
from redbot.core import Config
from redbot.core import commands
from redbot.core import Config, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
from redbot.core.data_manager import cog_data_path
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class CogLint(Cog):

View File

@ -1,14 +1,11 @@
from collections import defaultdict
from datetime import datetime, timedelta
from typing import Any
import aiohttp
import discord
from redbot.core import Config, checks
from redbot.core import commands
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
async def fetch_url(session, url):

View File

@ -2,9 +2,7 @@ import asyncio
import discord
from redbot.core import Config, checks, commands
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class ExclusiveRole(Cog):

View File

@ -3,10 +3,8 @@ from datetime import date, timedelta
import discord
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
from redbot.core.utils.chat_formatting import pagify
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class Flag(Cog):

View File

@ -1,19 +1,17 @@
from discord.utils import get
from redbot import VersionInfo, version_info
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from typing import Any
import asyncio
Cog: Any = getattr(commands, "Cog", object)
from discord.utils import get
from redbot import VersionInfo, version_info
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
if version_info < VersionInfo.from_str("3.4.0"):
SANITIZE_ROLES_KWARG = {}
else:
SANITIZE_ROLES_KWARG = {"sanitize_roles": False}
class ForceMention(Cog):
"""
Mention the unmentionables

View File

@ -3,10 +3,8 @@ from random import randint
import discord
from redbot.core import Config, checks, commands
from redbot.core.commands import Cog
from redbot.core.data_manager import bundled_data_path
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class Hangman(Cog):
@ -31,9 +29,9 @@ class Hangman(Cog):
"answer": "",
}
)
# self.path = str(cog_data_path(self)).replace("\\", "/")
# self.path = str(cog_data_path(self)).replace("\\", "/")
# self.answer_path = self.path + "/bundled_data/hanganswers.txt"
# self.answer_path = self.path + "/bundled_data/hanganswers.txt"
self.answer_path = bundled_data_path(self) / "hanganswers.txt"

View File

@ -1,15 +1,14 @@
from typing import Any
import discord
from redbot.core import Config, commands, checks
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
Cog: Any = getattr(commands, "Cog", object)
listener = getattr(commands.Cog, "listener", None) # Trusty + Sinbad
if listener is None:
def listener(name=None):
return lambda x: x
# Cog: Any = getattr(commands, "Cog", object)
# listener = getattr(commands.Cog, "listener", None) # Trusty + Sinbad
# if listener is None:
# def listener(name=None):
# return lambda x: x
class InfoChannel(Cog):
@ -160,8 +159,10 @@ class InfoChannel(Cog):
onlinecount = guild_data["online_count"]
# Gets count of bots
bots = lambda x: x.bot
num = len([m for m in guild.members if bots(m)])
# bots = lambda x: x.bot
# def bots(x): return x.bot
num = len([m for m in guild.members if m.bot])
bot_msg = f"Bots: {num}"
# Gets count of online users
@ -188,8 +189,7 @@ class InfoChannel(Cog):
if guild_data["member_count"]:
name = "{} ".format(human_msg)
await channel.edit(reason="InfoChannel update", name=name)
await channel.edit(reason="InfoChannel update", name=name)
if botcount:
name = "{} ".format(bot_msg)
@ -199,15 +199,15 @@ class InfoChannel(Cog):
name = "{} ".format(online_msg)
await onlinechannel.edit(reason="InfoChannel update", name=name)
@listener()
@Cog.listener()
async def on_member_join(self, member: discord.Member):
await self.update_infochannel(member.guild)
@listener()
@Cog.listener()
async def on_member_remove(self, member: discord.Member):
await self.update_infochannel(member.guild)
@listener()
@Cog.listener()
async def on_member_update(self, before: discord.Member, after: discord.Member):
onlinecount = await self.config.guild(after.guild).online_count()
if onlinecount:

View File

@ -1,11 +1,7 @@
import discord
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core.commands import Context
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog, Context
class Leaver(Cog):
@ -15,9 +11,7 @@ class Leaver(Cog):
def __init__(self, bot: Red):
self.bot = bot
self.config = Config.get_conf(
self, identifier=9811198108111121, force_registration=True
)
self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True)
default_guild = {"channel": ""}
self.config.register_guild(**default_guild)

View File

@ -2,9 +2,7 @@ import aiohttp
import discord
from bs4 import BeautifulSoup
from redbot.core import commands
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class LoveCalculator(Cog):
@ -15,7 +13,7 @@ class LoveCalculator(Cog):
@commands.command(aliases=["lovecalc"])
async def lovecalculator(
self, ctx: commands.Context, lover: discord.Member, loved: discord.Member
self, ctx: commands.Context, lover: discord.Member, loved: discord.Member
):
"""Calculate the love percentage!"""
@ -30,7 +28,9 @@ class LoveCalculator(Cog):
soup_object = BeautifulSoup(await response.text(), "html.parser")
try:
description = (
soup_object.find("div", attrs={"class": "result__score"}).get_text().strip()
soup_object.find("div", attrs={"class": "result__score"})
.get_text()
.strip()
)
except:
description = "Dr. Love is busy right now"

View File

@ -2,13 +2,9 @@ from datetime import datetime
import dateutil.parser
import discord
from redbot.core import Config
from redbot.core import Config, commands
from redbot.core.bot import Red
from redbot.core import commands
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class LastSeen(Cog):

View File

@ -5,15 +5,14 @@ import datetime
import json
import time
from random import choice
from typing import Any
import discord
from redbot.core import commands, Config, bank
from redbot.core import Config, bank, commands
from redbot.core.bot import Red
from redbot.core.data_manager import bundled_data_path
class Gardener:
class Gardener(commands.Cog):
"""Gardener class"""
def __init__(self, user: discord.User, config: Config):
@ -30,9 +29,7 @@ class Gardener:
"Badges: {}\n"
"Points: {}\n"
"Products: {}\n"
"Current: {}".format(
self.user, self.badges, self.points, self.products, self.current
)
"Current: {}".format(self.user, self.badges, self.points, self.products, self.current)
)
def __repr__(self):
@ -246,17 +243,12 @@ class PlantTycoon(commands.Cog):
degradation = (
100
/ (gardener.current["time"] / 60)
* (
self.defaults["degradation"]["base_degradation"]
+ gardener.current["degradation"]
)
* (self.defaults["degradation"]["base_degradation"] + gardener.current["degradation"])
) + modifiers
d = collections.namedtuple("degradation", "degradation time modifiers")
return d(
degradation=degradation, time=gardener.current["time"], modifiers=modifiers
)
return d(degradation=degradation, time=gardener.current["time"], modifiers=modifiers)
# async def _get_member(self, user_id):
#
@ -285,10 +277,7 @@ class PlantTycoon(commands.Cog):
await self._load_plants_products()
product = product.lower()
product_category = product_category.lower()
if (
product in self.products
and self.products[product]["category"] == product_category
):
if product in self.products and self.products[product]["category"] == product_category:
if product in gardener.products:
if gardener.products[product] > 0:
gardener.current["health"] += self.products[product]["health"]
@ -359,13 +348,9 @@ class PlantTycoon(commands.Cog):
``{0}prune``: Prune your plant.\n"""
em = discord.Embed(
title=title,
description=description.format(prefix),
color=discord.Color.green(),
)
em.set_thumbnail(
url="https://image.prntscr.com/image/AW7GuFIBSeyEgkR2W3SeiQ.png"
title=title, description=description.format(prefix), color=discord.Color.green(),
)
em.set_thumbnail(url="https://image.prntscr.com/image/AW7GuFIBSeyEgkR2W3SeiQ.png")
em.set_footer(
text="This cog was made by SnappyDragon18 and PaddoInWonderland. Inspired by The Lorax (2012)."
)
@ -439,9 +424,7 @@ class PlantTycoon(commands.Cog):
em = discord.Embed(color=discord.Color.green()) # , description='\a\n')
avatar = author.avatar_url if author.avatar else author.default_avatar_url
em.set_author(
name="Gardening profile of {}".format(author.name), icon_url=avatar
)
em.set_author(name="Gardening profile of {}".format(author.name), icon_url=avatar)
em.add_field(name="**Thneeds**", value=str(gardener.points))
if not gardener.current:
em.add_field(name="**Currently growing**", value="None")
@ -508,9 +491,7 @@ class PlantTycoon(commands.Cog):
else:
tock += "**{}**\n".format(plant["name"])
tick_tock = 0
em = discord.Embed(
title="All plants that are growable", color=discord.Color.green()
)
em = discord.Embed(title="All plants that are growable", color=discord.Color.green())
em.add_field(name="\a", value=tick)
em.add_field(name="\a", value=tock)
await ctx.send(embed=em)
@ -532,18 +513,13 @@ class PlantTycoon(commands.Cog):
if t:
em = discord.Embed(
title="Plant statistics of {}".format(plant["name"]),
color=discord.Color.green(),
title="Plant statistics of {}".format(plant["name"]), color=discord.Color.green(),
)
em.set_thumbnail(url=plant["image"])
em.add_field(name="**Name**", value=plant["name"])
em.add_field(name="**Rarity**", value=plant["rarity"].capitalize())
em.add_field(
name="**Grow Time**", value="{0:.1f} minutes".format(plant["time"] / 60)
)
em.add_field(
name="**Damage Threshold**", value="{}%".format(plant["threshold"])
)
em.add_field(name="**Grow Time**", value="{0:.1f} minutes".format(plant["time"] / 60))
em.add_field(name="**Damage Threshold**", value="{}%".format(plant["threshold"]))
em.add_field(name="**Badge**", value=plant["badge"])
em.add_field(name="**Reward**", value="{} τ".format(plant["reward"]))
else:
@ -595,8 +571,7 @@ class PlantTycoon(commands.Cog):
author = ctx.author
if product is None:
em = discord.Embed(
title="All gardening supplies that you can buy:",
color=discord.Color.green(),
title="All gardening supplies that you can buy:", color=discord.Color.green(),
)
for pd in self.products:
em.add_field(
@ -630,8 +605,7 @@ class PlantTycoon(commands.Cog):
message = "You bought {}.".format(product.lower())
else:
message = "You don't have enough Thneeds. You have {}, but need {}.".format(
gardener.points,
self.products[product.lower()]["cost"] * amount,
gardener.points, self.products[product.lower()]["cost"] * amount,
)
else:
message = "I don't have this product."
@ -650,14 +624,11 @@ class PlantTycoon(commands.Cog):
plural = "s"
if withdraw_points:
await bank.deposit_credits(author, amount)
message = "{} Thneed{} successfully exchanged for credits.".format(
amount, plural
)
message = "{} Thneed{} successfully exchanged for credits.".format(amount, plural)
await gardener.save_gardener()
else:
message = (
"You don't have enough Thneed{}. "
"You have {}, but need {}.".format(plural, gardener.points, amount)
message = "You don't have enough Thneed{}. " "You have {}, but need {}.".format(
plural, gardener.points, amount
)
em = discord.Embed(description=message, color=discord.Color.green())
@ -749,9 +720,7 @@ class PlantTycoon(commands.Cog):
degradation = await self._degradation(gardener)
now = int(time.time())
timestamp = gardener.current["timestamp"]
degradation_count = (now - timestamp) // (
self.defaults["timers"]["degradation"] * 60
)
degradation_count = (now - timestamp) // (self.defaults["timers"]["degradation"] * 60)
degradation_count -= gardener.current["degrade_count"]
gardener.current["health"] -= degradation.degradation * degradation_count
gardener.points += self.defaults["points"]["growing"] * degradation_count

View File

@ -6,10 +6,8 @@ from MyQR import myqr
from PIL import Image
from redbot.core import Config, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
from redbot.core.data_manager import cog_data_path
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class QRInvite(Cog):

View File

@ -1,12 +1,9 @@
from typing import List, Union
import discord
from redbot.core import Config
from redbot.core import commands
from redbot.core import Config, commands
from redbot.core.bot import Red
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class ReactRestrictCombo:

View File

@ -1,13 +1,11 @@
import asyncio
import json
import random
from typing import Any
from redbot.core import bank, commands
from redbot.core.commands import Cog
from redbot.core.data_manager import bundled_data_path
Cog: Any = getattr(commands, "Cog", object)
class RecyclingPlant(Cog):
"""Apply for a job at the recycling plant!"""

View File

@ -3,9 +3,7 @@ import random
import discord
from redbot.core import commands
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class RPSLS(Cog):

View File

@ -1,12 +1,9 @@
import aiohttp
import html2text
from redbot.core import Config, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
from redbot.core.utils.chat_formatting import pagify
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
async def fetch_url(session, url):

View File

@ -1,8 +1,7 @@
import discord
from redbot.core import commands
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class SCP(Cog):

View File

@ -4,9 +4,8 @@ import discord
from redbot.core import Config, commands
from redbot.core.bot import Red
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
async def fetch_img(session, url):

View File

@ -1,13 +1,11 @@
import asyncio
from datetime import timedelta, datetime
from datetime import datetime, timedelta
import discord
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core.commands import Cog
from redbot.core.utils.chat_formatting import pagify
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class Timerole(Cog):

View File

@ -4,9 +4,7 @@ import discord
from gtts import gTTS
from redbot.core import Config, commands
from redbot.core.bot import Red
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class TTS(Cog):

View File

@ -2,9 +2,7 @@ import codecs as c
import discord
from redbot.core import commands
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
from redbot.core.commands import Cog
class Unicode(Cog):

View File

@ -1,16 +1,17 @@
import discord
from redbot.core import Config, checks
from redbot.core import Config, checks, commands
from redbot.core.bot import Red
from redbot.core import commands
from redbot.core.commands import Cog
from redbot.core.utils.menus import DEFAULT_CONTROLS, menu
from .builder import GameBuilder, role_from_name, role_from_alignment, role_from_category, role_from_id
from .builder import (
GameBuilder,
role_from_alignment,
role_from_category,
role_from_id,
role_from_name,
)
from .game import Game
from redbot.core.utils.menus import menu, DEFAULT_CONTROLS
from typing import Any
Cog: Any = getattr(commands, "Cog", object)
class Werewolf(Cog):
@ -20,13 +21,15 @@ class Werewolf(Cog):
def __init__(self, bot: Red):
self.bot = bot
self.config = Config.get_conf(self, identifier=87101114101119111108102, force_registration=True)
self.config = Config.get_conf(
self, identifier=87101114101119111108102, force_registration=True
)
default_global = {}
default_guild = {
"role_id": None,
"category_id": None,
"channel_id": None,
"log_channel_id": None
"log_channel_id": None,
}
self.config.register_global(**default_global)
@ -83,7 +86,7 @@ class Werewolf(Cog):
@commands.guild_only()
@wwset.command(name="role")
async def wwset_role(self, ctx: commands.Context, role: discord.Role=None):
async def wwset_role(self, ctx: commands.Context, role: discord.Role = None):
"""
Assign the game role
This role should not be manually assigned
@ -97,7 +100,7 @@ class Werewolf(Cog):
@commands.guild_only()
@wwset.command(name="category")
async def wwset_category(self, ctx: commands.Context, category_id: int=None):
async def wwset_category(self, ctx: commands.Context, category_id: int = None):
"""
Assign the channel category
"""
@ -114,7 +117,7 @@ class Werewolf(Cog):
@commands.guild_only()
@wwset.command(name="channel")
async def wwset_channel(self, ctx: commands.Context, channel: discord.TextChannel=None):
async def wwset_channel(self, ctx: commands.Context, channel: discord.TextChannel = None):
"""
Assign the village channel
"""
@ -127,7 +130,7 @@ class Werewolf(Cog):
@commands.guild_only()
@wwset.command(name="logchannel")
async def wwset_log_channel(self, ctx: commands.Context, channel: discord.TextChannel=None):
async def wwset_log_channel(self, ctx: commands.Context, channel: discord.TextChannel = None):
"""
Assign the log channel
"""