       JComment = require '../comment'
       JPost::reply.call this, client, JComment, comment, callback
 
+  @getExemptUserIdsIfNeeded: (client, options, callback=->)->
+    unless options.withExempt
+      {delegate} = client.connection
+      return callback null, []  unless delegate
+
+      JAccount = require '../../account'
+      JAccount.getExemptUserIds (err, ids)->
+        return callback err, null if err
+        index = ids.indexOf(delegate.getId().toString())
+        if index > -1
+          ids.splice(index, 1)
+
+        callback null, ids
+    else
+      callback null, []
+
   @getCurrentGroup: (client, callback)->
     groupName = client.context.group or "koding"
     JGroup = require '../../group'

        else callback null, group


  @fetchGroupActivity$ = secure (client, options = {}, callback)->
    @fetchGroupActivity client, options, callback

  @fetchGroupActivity = (client, options = {}, callback)->
    @getCurrentGroup client, (err, group)=>
      if err then return callback err
      {to} = options
      to = if to then new Date(to)  else new Date()
      selector = {'meta.createdAt' : "$lt" : to }

      options.sort = 'meta.createdAt' : -1
      options.limit or= 20
      @some selector, options, (err, data)=>
        return callback err if err
        @decorateResults data, callback

  @fetchProfileFeed = secure (client, options = {}, callback)->
    {connection:{delegate}, context:{group}} = client


    @some selector, feedOptions, (err, data)=>
      return callback err if err
      @decorateResults data, yes, callback

  @fetchTopicFeed = secure (client, options = {}, callback)->
    {connection:{delegate}, context:{group}} = client

    JTag = require '../../tag'
    JTag.one { slug : options.slug, group }, (err, tag)=>
