code: async def ctcp(self, target, query, contents=None):
          
          if self.is_channel(target) and not self.in_channel(target):
              raise client.NotInChannel(target)
  
          await self.message(target, construct_ctcp(query, contents))
docs: Send a CTCP request to a target.