code: def construct(self, force=False):
          
          message = super().construct(force=force)
  
          # Add tags.
          if self.tags:
              raw_tags = []
              for tag, value in self.tags.items():
                  if value == True:
                      raw_tags.append(tag)
                  else:
                      raw_tags.append(tag + TAG_VALUE_SEPARATOR + value)
  
              message = TAG_INDICATOR + TAG_SEPARATOR.join(raw_tags) + ' ' + message
  
          if len(message) > TAGGED_MESSAGE_LENGTH_LIMIT and not force:
              raise protocol.ProtocolViolation('The constructed message is too long. ({len} > {maxlen})'.format(len=len(message), maxlen=TAGGED_MESSAGE_LENGTH_LIMIT), message=message)
          return message
docs: Construct raw IRC message and return it.