text: from discord.ext.commands import Command, Group
  
  __all__ = (
  	'command',
  	'group'
  )
  
  
  def command(name=None, cls=Command, **attrs):
  	def decorator(func):
  		if isinstance(func, Command):
  			raise TypeError('Callback is already a command.')
  		cmd = cls(func, name=name, **attrs)
  		cmd.examples = attrs.pop('examples', [])
  		return cmd
  	return decorator
  
  def group(name=None, **attrs): # invoke_without_command is defaulted to True
  	attrs.setdefault('invoke_without_command', True)
  	return command(name=name, cls=Group, **attrs)