# User Invitation/Poking a user to a topic is now live!

**URL:** <https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180>\
**Category:** Feature\
**Created:** [2015年四月4日 00:27 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180 "2015-04-04T00:27:03Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![lidel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lidel/32/115991_2.png) [@lidel](https://meta.discourse.org/u/lidel)\
**Post date:** [2015年四月4日 18:02 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/21 "2015-04-04T18:02:27Z")

</div>

> [@cpradio](#):
>
> I see little to zero value in the invite an existing user.

I think inviting existing user is a “gentler” way to ask specific people to participate in a thread:  
in some cases I want user to check topic and perhaps make a post, but I don’t want to put him/her in the spotlight by @mention which can be seen by others 😊

---

<div class="post-metadata">

**Author:** ![watchmanmonitor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/watchmanmonitor/32/430970_2.png) [@watchmanmonitor](https://meta.discourse.org/u/watchmanmonitor)\
**Post date:** [2015年四月4日 18:03 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/22 "2015-04-04T18:03:35Z")

</div>

The mention works when I have a reason to post in the thread. There’s very little reason to post if all I want to do is tell someone the thread exists.

But the biggest reason not to mention is that I typically just want them to see the thread, it’s up to them if they want to be involved in it

---

<div class="post-metadata">

**Author:** ![Benno](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benno/32/40721_2.png) [@Benno](https://meta.discourse.org/u/Benno)\
**Post date:** [2015年四月4日 18:23 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/23 "2015-04-04T18:23:41Z")

</div>

Thanks @watchmanmonitor & @lidel, it’s clear to me now how poking and @ mentions can have a different use.

---

<div class="post-metadata">

**Author:** ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)\
**Post date:** [2015年四月4日 22:43 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/24 "2015-04-04T22:43:24Z")

</div>

Yes that makes sense. Thanks @lidel and @watchmanmonitor

---

<div class="post-metadata">

**Author:** ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)\
**Post date:** [2015年四月5日 09:14 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/25 "2015-04-05T09:14:05Z")

</div>

> [@fantasticfears](#):
>
> The notification text doesn’t make sense when you invite a username

> [@codinghorror](#):
>
> for SSO users it is safe to enable just the username invite ability

> [@sam](#):
>
> First thing that needs fixing is invite/add into message for sso

Fixed ☀

[https://github.com/discourse/discourse/pull/3336](https://github.com/discourse/discourse/pull/3336)

---

<div class="post-metadata">

**Author:** ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)\
**Post date:** [2015年四月6日 16:02 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/26 "2015-04-06T16:02:53Z")

</div>

I moved a post to a new topic: [Inviting user to a topic/message sends out incorrect email](https://meta.discourse.org/t/inviting-user-to-a-topic-message-sends-out-incorrect-email/27254)

---

<div class="post-metadata">

**Author:** ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)\
**Post date:** [2015年四月6日 15:25 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/27 "2015-04-06T15:25:42Z")

</div>

Fixed via

[https://github.com/discourse/discourse/pull/3337](https://github.com/discourse/discourse/pull/3337)

---

<div class="post-metadata">

**Author:** ![AdamCapriola](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adamcapriola/32/5192_2.png) [@AdamCapriola](https://meta.discourse.org/u/AdamCapriola)\
**Post date:** [2015年四月6日 15:44 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/28 "2015-04-06T15:44:58Z")

</div>

@techAPJ you are a god 🙌

---

<div class="post-metadata">

**Author:** ![thomaspurchas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thomaspurchas/32/115664_2.png) [@thomaspurchas](https://meta.discourse.org/u/thomaspurchas)\
**Post date:** [2015年四月10日 20:54 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/29 "2015-04-10T20:54:14Z")

</div>

Is there anyway this could be extend to private topics (i.e. topics in categories not visible to all)? Most of the forum that I run isn’t in public categories which reduces the usefulness of this excellent feature ☹.

One little bug with this feature and SSO, is that the invite button will appear on private topics. But produce an invite box thats useless. It offers to invite people via email, which immediately fails because of SSO.

---

<div class="post-metadata">

**Author:** ![purldator](https://avatars.discourse-cdn.com/v4/letter/p/bcef8e/32.png) [@purldator](https://meta.discourse.org/u/purldator)\
**Post date:** [2015年四月10日 23:51 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/30 "2015-04-10T23:51:59Z")

</div>

> [@thomaspurchas](#):
>
> Is there anyway this could be extend to private topics (i.e. topics in categories not visible to all)? Most of the forum that I run isn’t in public categories which reduces the usefulness of this excellent feature .

I would like to know the answer to this too. Because I would rather users _not_ be able to invite visitors into a restricted category topic.

---

<div class="post-metadata">

**Author:** ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)\
**Post date:** [2015年四月11日 00:10 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/31 "2015-04-11T00:10:41Z")

</div>

I am assuming nothing has changed as regards category access privileges. Only admins can invite and add people to non-public categories. (Just tested this - yes, regular users do not see the INVITE button on private categories they are in) So @purldator you can relax. 😉

What @thomaspurchas has me thinking about is that I would love to be able to do is give some users (e.g. by TL) permission to invite others to specific topics in private categories even if they do not already have access to the group. This request comes up all the time in my community. E.g. we have a leadership team with their own private category that only they are allowed to access. Occasionally they start topics and want to pull someone else into the discussion who is not in the group just to that topic.

The INVITE feature would be ideal for this. They’d be informed upon inviting them that the invitee will only get access to the topic, not the whole category. That another user has access would probably also have to be indicated somewhere in the topic, perhaps at the top next to category/tags?

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2015年四月11日 00:52 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/32 "2015-04-11T00:52:48Z")

</div>

> [@tobiaseigen](#):
>
> They’d be informed upon inviting them that the invitee will only get access to the topic, not the whole category

Topic level permissions do not exist in Discourse, what you describe is impossible.

If you invite someone to a restricted topic, you would be permanently adding them to the group that has access to that category.

---

<div class="post-metadata">

**Author:** ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)\
**Post date:** [2015年四月11日 01:10 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/33 "2015-04-11T01:10:14Z")

</div>

Yup - I’m aware that this is the way it works now. What I was dreaming about was how great it would be to have topic-level permissions.

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2015年四月11日 01:11 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/34 "2015-04-11T01:11:38Z")

</div>

I feel that allowing one off topic access to an individual in a secure category is quite weird and prone to a lot of problems, even if it did exist.

---

<div class="post-metadata">

**Author:** ![thomaspurchas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thomaspurchas/32/115664_2.png) [@thomaspurchas](https://meta.discourse.org/u/thomaspurchas)\
**Post date:** [2015年四月11日 01:12 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/35 "2015-04-11T01:12:52Z")

</div>

I was under the impression that this was _just_ a ping feature (assuming the use of usernames), and that is all it ever would be.

The idea of inviting people to a private topic has come up a few [times](https://meta.discourse.org/t/add-users-to-topic-in-private-category/25593). But @sam and @codinghorror have always been a bit unhappy with the idea, for a number of good reasons (check the thread for details).

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2015年四月11日 01:19 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/36 "2015-04-11T01:19:28Z")

</div>

> [@thomaspurchas](#):
>
> One little bug with this feature and SSO, is that the invite button will appear on private topics. But produce an invite box thats useless. It offers to invite people via email, which immediately fails because of SSO.

@techapj we need a better way of handling this for tl2 users. Maybe just never show invite on any topic in a private category to a non staff member. Staff members can send invites that add people to the necessary group, but there is no way a non staff member should have that ability.

We did talk about having a “group owner” who has the right to add people to their group. I suppose this person could also invite users to a private topic **if it was a group they owned**.

---

<div class="post-metadata">

**Author:** ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)\
**Post date:** [2015年四月11日 01:23 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/37 "2015-04-11T01:23:03Z")

</div>

Here’s the current logic for whether to show the invite button, for reference.

```plaintext
  def can_invite_to?(object, group_ids=nil)
    return false if ! authenticated?
    return false unless ( SiteSetting.enable_local_logins && (!SiteSetting.must_approve_users? || is_staff?) )
    return true if is_admin?
    return false if ! can_see?(object)

    return false if group_ids.present?

    if object.is_a?(Topic) && object.category
      if object.category.groups.any?
        return true if object.category.groups.all? { |g| can_edit_group?(g) }
      end
      return false if object.category.read_restricted
    end

    user.has_trust_level?(TrustLevel[2])
  end

```

---

<div class="post-metadata">

**Author:** ![thomaspurchas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thomaspurchas/32/115664_2.png) [@thomaspurchas](https://meta.discourse.org/u/thomaspurchas)\
**Post date:** [2015年四月11日 09:48 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/38 "2015-04-11T09:48:29Z")

</div>

I was kinda hoping that there would be a ping feature that would let you notify users about a topic, assuming that they had permission to view it.

That’s what I thought this feature was, an @mention without the need to create a post, or munge a name into a sentence.

---

<div class="post-metadata">

**Author:** ![purldator](https://avatars.discourse-cdn.com/v4/letter/p/bcef8e/32.png) [@purldator](https://meta.discourse.org/u/purldator)\
**Post date:** [2015年四月11日 09:52 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/39 "2015-04-11T09:52:28Z")

</div>

> [@thomaspurchas](#):
>
> assuming that they had permission to view it

That is different than allowing users to open the door for visitors and unauthorized users the administrator doesn’t know into a restricted category.

I think that would be solved by keeping the ‘invite’ button active on topics in a restricted category but instead query the username being poked and see if they have access. If they do, the poke is successful. If not, it returns an error to the poker. Inviting visitors via email from the outside isn’t available in any measure.

---

<div class="post-metadata">

**Author:** ![thomaspurchas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thomaspurchas/32/115664_2.png) [@thomaspurchas](https://meta.discourse.org/u/thomaspurchas)\
**Post date:** [2015年四月11日 09:58 UTC](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180/40 "2015-04-11T09:58:59Z")

</div>

The error shouldn’t be fatal so that you can still invite groups of people simultaneously without have to make sure that everyone has permissions. (That may already be true with the rate limiting error)

[上一頁](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180.md?page=1)

[下一頁](https://meta.discourse.org/t/user-invitation-poking-a-user-to-a-topic-is-now-live/27180.md?page=3)
