old_contents: import asyncio
  import logging
  
  from bot.plugins.base import BasePlugin
  
  
  logger = logging.getLogger(__name__)
  
  
  class Plugin(BasePlugin):
  
      def on_message(self, message):
          if message.channel.name != 'developer':
              return
  
          if message.content.startswith('!'):
              for i in [1, 2, 5]:
                  logger.debug('Sleeping for %d seconds', i)
                  yield from asyncio.sleep(i)
  
new_contents: import logging
  
  from bot.plugins.base import BasePlugin
  
  
  logger = logging.getLogger(__name__)
  
  
  class Plugin(BasePlugin):
  
      def on_message(self, message):
          channel = getattr(message.channel, 'name', None)
          if channel != 'developer':
              return
  
          if message.content.startswith('!pm'):
              yield from self.client.send_message(message.author, 'HAI')
  
subject: Test PM functionality