# Path: dozer/cogs/_utils.py
# def command(self, *args, **kwargs):
#     """Initiates a command"""
#     kwargs.setdefault('cls', Command)
#     return super(Group, self).command(*args, **kwargs)


import asyncio
import copy
import datetime
import math
import random
import re
import typing
import async_timeout
import discord
import wavelink
from discord.ext import menus, commands
from discord.ext.commands import NoPrivateMessage, BadArgument
from ._utils import command
    def update_context(self, payload: discord.RawReactionActionEvent):
        """Update our context with the user who reacted."""
        ctx = copy.copy(self.ctx)
        ctx.author = payload.member

        return ctx

    def reaction_check(self, payload: discord.RawReactionActionEvent):
        if payload.event_type == 'REACTION_REMOVE':
            return False

        if not payload.member:
            return False
        if payload.member.bot:
            return False
        if payload.message_id != self.message.id:
            return False
        if payload.member not in self.bot.get_channel(int(self.player.channel_id)).members:
            return False

        return payload.emoji in self.buttons

    async def send_initial_message(self, ctx: commands.Context, channel: discord.TextChannel) -> discord.Message:
        return await channel.send(embed=self.embed)

    @menus.button(emoji='\u25B6')
    async def resume_command(self, payload: discord.RawReactionActionEvent):
        """Resume button."""
        ctx = self.update_context(payload)


# Path: dozer/cogs/_utils.py
# def command(self, *args, **kwargs):
#     """Initiates a command"""
#     kwargs.setdefault('cls', Command)
#     return super(Group, self).command(*args, **kwargs)


# Path: dozer/cogs/music.py
import asyncio
import copy
import datetime
import math
import random
import re
import typing
import async_timeout
import discord
import wavelink
from discord.ext import menus, commands
from discord.ext.commands import NoPrivateMessage, BadArgument
from ._utils import command

    def update_context(self, payload: discord.RawReactionActionEvent):
        """Update our context with the user who reacted."""
        ctx = copy.copy(self.ctx)
        ctx.author = payload.member

        return ctx

    def reaction_check(self, payload: discord.RawReactionActionEvent):
        if payload.event_type == 'REACTION_REMOVE':
            return False

        if not payload.member:
            return False
        if payload.member.bot:
            return False
        if payload.message_id != self.message.id:
            return False
        if payload.member not in self.bot.get_channel(int(self.player.channel_id)).members:
            return False

        return payload.emoji in self.buttons

    async def send_initial_message(self, ctx: commands.Context, channel: discord.TextChannel) -> discord.Message:
        return await channel.send(embed=self.embed)

    @menus.button(emoji='\u25B6')
    async def resume_command(self, payload: discord.RawReactionActionEvent):
        """Resume button."""
        ctx = self.update_context(payload)


        command = self.bot.get_command('resume')