Discourse Narrative Bot Beta Feedback

Very nice program. I just finished the 2 tutorials on KC, which were very engaging! Thanks @codinghorror and the Discourse team for this great new bot!

It makes me wanna become a disco bot…get it? Okay I’ll stop :joy:




Here are some thoughts on the advanced user track:

  • The bot says “There are lots of ways to customize your experience, such as selecting a dark or light theme.” But whether or not a user can select a theme or which themes are available is a site setting and can be turned off. Wouldn’t it make more sense to mention something that is available regardless of site settings? For example: “… such as how many and what kind of emails you receive”?
  • The second exercise is “Go ahead and delete any of your posts above by using the delete action. Don’t delete the first post, though!” However, at that point, the user usually has exactly one post apart from the OP so it’s a bit strange to say “any of your posts above”
  • After the delete task, the bot creates another post on my behalf, deletes it, and asks me to undelete it? Why not just ask to undelete the post I have deleted in the previous task? If the idea is that all tasks should be doable regardless of the other ones, I would suggest that the bot only creates a deleted post if the user did not complete the delete-task.
  • In discourse_narrative_bot.advanced_user_narrative.edit.instructions the bot says “Everyone makes mistakes. But don’t worry, you can always edit your posts to fix them!” Wouldn’t this be a nice opportunity to play with the fact that it’s a bot by letting him say “Humans make mistakes…”?

Update: I also noticed in the advanced track that after the bot says

In the meantime, I’ll stay out of your way.

It nevertheless still sends the timeout message. Not sure if it would have sent it if I had not replied to the previous message, but the interaction is nevertheless a bit strange:


Is there any particular reason why the bot doesn’t mention the advanced user track at the end of the new user track?

Another thing: the setting discourse narrative bot welcome post delaydoes not seem to work. I have it set to 30 seconds but when I just created a new user, the bot’s message was there from the start and the screen turned black immediately as before.


I suspect this is because the admin track is still being tested and is not considered quite ready for prime time. The big priority is the new user track.

I just tested this by setting it to 20000 seconds, and the delay seems to be working on my site. Discobot’s message is not showing up. It’s true that it’s a bit weird for the screen to turn black immediately if there is no notification there to look at. :slight_smile:

However, I have another welcome message arriving via SSO so would prefer the screen darkening feature to not go away. Could suppressing it be added as an admin option for those who have the delay set and don’t need it? Or wait to darken the screen when the discobot message is sent?

Also, the max delay appears to be 20,000 seconds or about 5 hours. I was hoping to try delaying it by a day or a few days to use it to remind people to come back to discourse. Could this be done?

And finally, if there is a delay, then it will be sent out by email since the user is probably not online. So some noobs will be confused and will try to click the ... in their email client. I had this happen a few times already. I don’t know if there is a solution for this.

(For my site, I’d like to see the discobot message go out immediately and be highlighted with the screen darkening, and then send out my SSO-sourced welcome message a few days later. This is something I’ll have to try to figure out on my own since it involves updating some custom code that @AdamCapriola wrote for me back in the day)

Hm, strange. Which version are you on? Is it still the plugin or already the latest version merged into core? I’m using the latter and just tried again, this time with 60 seconds but the bot’s message is there immediately after signup. The only thing that comes to mind as I write this is that perhaps the timer already starts counting when the first email is sent to the new user (and not upon first login).

Are you saying that the screen turns black even though the bot did not yet send the welcome message? I’d consider that a bug.

That’s interesting. Is that another version of what I’ve been asking about here:

If it’s similar (except you use SSO instead of webhooks) it would be great if you could briefly describe your setup/workflow in that topic.

yes, I am on the latest version merged into core.

Yes that is what I’m saying. But I am happy it is still happening because of my custom setup that sends another automated welcome message via SSO.

It’s not at all similar to that topic, which seems to be about sending messages to an old school listserv/mailing list. What I’m describing here is wordpress functionality that triggers discourse PMs via the discourse API. They get sent when new users complete the wordpress signup process.

Maybe the fade-to-black occurs when the user receives the first message, so your custom message could simply have triggered this?

1 Like

Oh man, I realize I pasted the wrong link. Sorry about that. I meant this one:

1 Like

The delay starts counting when he user is created so that might have confused you.

If you do not want the screen darkening feature to stay why do we need an option to suppress it? I’m a little confused by the use case and the request here. :thought_balloon:

@tobiaseigen May I get the reproduction steps for this? I just tried locally and I do not get a black overlay. The black overlay only shows when there is an unread PM and the user has not read any notifications.


If the user is created the moment the new user submits the signup form and not when the “Activate account” button is pressed, then I’d say that is too early to start the timer as it defeats the purpose of being able to set the amount of time the user can browse the site before the bot tries to get their attention.

In the case of invited users, when does the timer start? If the user is already created when the invite link is created, things are even worse for invited users.


Ahh OK. I just re-read your request for the delay feature again and realized I got it wrong. It should have been after the first login all along. I’ll have a look but I suspect it might be tricky since we don’t have a user login event trigger yet.


I’m just trying to preempt you guys suppressing it upon signup if the discobot message is delayed. :slight_smile:

I don’t really understand how the functionality works but if this is how it is intended to work, then all is well. On my site I use SSO to send a welcome message, which triggers a notification. So it’s good for the black overlay to happen even if discobot’s message is time delayed. But if there were no welcome message and discobot’s message is time delayed and there is no black overlay, then the functionality is working properly as far as I see it.

The black overlay is basically a Discourse core feature which triggers as long as there is an unread PM and the user hasn’t read the first notification.


I added an event trigger when a user logs in


so that we only enqueue the welcome email when a user logs in for the first time



I gently exposed the discobot narrative track functionality by editing the badge descriptions - see below. This seems to me to be the best way to provide a pathway for those eager existing users who want to take it. It’s also a way for us to say “ok, if you want to become a moderator, show me you’ve got what it takes by attaining the certified and licensed badges!”

I still can’t help but hope that someday there will be a link on the hamburger menu (and the keyboard shortcuts popup?) to e.g. Tutorials, a popup that introduces discobot and provides links to the various tutorials and discobot functionality available.

This badge is granted upon successful completion of the interactive new user tutorial. You’ve taken the initiative to learn the basic tools of discussion, and now you’re certified! (To take the tutorial, send a private message to @discobot containing the command “start new user”)

This badge is granted upon successful completion of the interactive advanced user tutorial. You’ve mastered the advanced tools of discussion — and now you’re fully licensed! (To take the tutorial, send a private message to @discobot containing the command “start advanced user”)


I think it’s more an event thing. The Search input has been this way for as long as I know in regards to pasting into the input compared to it getting a key event.

1 Like

I agree. Has happened to me since the beginning. Copy-pasting capybara doesn’t work on Android. I think this is very confusing to users since a lot of users will go this route. The instructions could be updated but better to fix the issue.


Hmm maybe the solution @tgxworld is to make the capybara edit one step earlier so the search indexes have time to build? I don’t know if there’s any way to fix pasting into the search box.


Some feedback from (existing) users on our Discourse instance who tried out Discobot:

I gave it a go. I particularly like the certificate at the end/badge. It could be a great way to introduce it at a school staff meeting to ensure that everyone knows how to use it and the purpose behind it. I enjoyed it. Great work!


I guess it will help some people. I am undecided on whether it is better than a long post or not. Perhaps a 1 min video might be better, that quickly shows what you can do. Add some catchy music and away you go!


The bot started to ping me and it got annoying quickly. If you don’t carefully read the instructions it feels like it starts to nag! I guess it is ‘learning by doing’, which is great, but I am not sure it is the best way to introduce the system to a new user fresh off the signup page.

I’ve edited the Discobot user and its text (mainly just the first message – hat tip to @HAWK) and I’ve included a quick video to get people up to speed:

Would it be worthwhile having a video along these lines available out of the box?