Дискорд бот и ООП

Уже какое-то время пишу ботов для дискорда, используя класс discord.ext.commands.Bot. Все боты написаны в процедурном стиле, но недавно на https://pypi.org/project/discord.py/ увидел, что, реализуя бота на discord.Client, можно свернуть его в отдельный дочерний класс.
Однако, попробовав свернуть своего бота на discord.ext.commands.Bot в класс, я столкнулся с некоторыми проблемами. Что здесь не так и как это исправить?


Рабочий бот, взятый с PyPI:

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='>')

@bot.command()
async def ping(ctx):
    await ctx.send('pong')

bot.run('token')

Моя попытка свернуть его в класс:

import discord
from discord.ext import commands

class PingBot(commands.Bot):
    def __init__(self, *args, **kwargs):
        self.bot = super(*args, **kwargs)

    @bot.command()
    async def ping(ctx):
        await ctx.send('pong')

bot = PingBot(command_prefix='>')
bot.run('token')

Получаемое исключение:

Traceback (most recent call last):
  File "E:\Python\Example.py", line 4, in <module>
    class PingBot(commands.Bot):
  File "E:\Python\Example.py", line 8, in PingBot
    @bot.command()
NameError: name 'bot' is not defined
[Finished in 1.2s]

Ответы (0 шт):