Closed GriffGreen closed 3 years ago
:/ Yes, very bad onboarding metrics The current process- -> Captcha bot -> Emoji reaction in #rules
The following problems seem to arrise- 1- People don't go to the #rules channel: Possible fix: Make the process more clear. Set up a bot that welcomes the user and pings them/dms them in #hello-world with instructions on how-to-get-access. 2- Reaction Role failure- There have been around 5 cases where people had reacted and got the role but seemed to not have access. (*More investigation needed) 3- Captcha-bot may be annoying and the dm feature may be blocking at times when people have closed dms- Possible fix: As griff suggests, a math bot. We could set this up and make it send verification in #hello-world itself, rather than dms
Some data from the server- | Joined server | Completed Captcha | Acknowledge CC | Interacted in Server |
---|---|---|---|---|
95* | 80 | 56 | 25 |
*6 of these are bots
Some suggestions from @markoprljic on improving the process: https://discord.com/channels/810180621930070088/810180622165213218/818003788438568991
@Vyvy-vi
Discord onboarding ideas from weekly comms call:
@krisjpi offered his help
I suppose we could set up a custom discord bot for the walkthrough of the server. What do y'all prefer to work with: js, python or ruby?
(Afaik, there aren't any bots currently out there that provide something similar to a custom walkthrough, but Ig making an onboarding bot should not be very complex)
@Vyvy-vi Checking in to see where we're at with improving Discord onboarding. Has there been any updates since?
@markoprljic! Update
@Vyvy-vi and I had a chat this morning
Notes:
A bot made it thru already, named "Tesla"
A great way to avoid this is to make a TECommons invite website that will automagically create an invite for people that do the captcha.
We would need to remove the ability to make invites on the server... ideally we could restrict the discord server invites to be only 1 time use invite links
There might just be a hacky way to do this by having a bot that removes multiple use invite links periodically
@Vyvy-vi is not a web dev... we might need @mendesfabio or some other dev to jump in and work with him... also @krisjpi will have to give us a subdomain
@markoprljic you might want to do some design as well.... but don't spend more than 5 minutes on it... or maybe skip it for MVP!
In fact, if we just do a quick and dirty MVP... maybe we can just use heroku or something and not even worry about coordinating the sub-domain.
1)- Regarding the captcha site: We could use a 3rd party captcha service, like reCaptcha Or make our own. Whatever works 2) Regarding how the site invites people: An integration or bot in discord can use there API to make a server invite. We could then redirect the user to a one-time usage link, after they complete the captcha. 3) We would need a bot application to monitor the discord invite links. Particularly links that are multiple use. 4) We would have to update all the sources, to link to the new invite site, that has captcha on it.
@Vyvy-vi @GriffGreen Thanks a lot for brainstorming and proposed solution. I'd love to get some feedback from devs on effort estimate and a bit more details what need to be done to make this work.
@Vyvy-vi Would you be creating the Discord bots? Do you need help from someone?
@kristoferlund Maybe you'd be able to set up a new page in WP and integrate Captcha bot. Also, we need to look into Discord / WP integration, probably would need to be custom, just guessing. I'll do the design part for that page, I can do it directly in WP as well, I think :)
Let's get a detailed work spec lined out and people who will take each part.
The onboard flow proposal change...
Before it was:
Create an invite link in discord, needing to choose expiration date and number of uses... then send that to someone
Get to our discord and look for a DM and do the Captcha... if you don't have DMs open beg for help in our support channel
Click the β emoji for our community code
The problem with this flow is step 2... especially since it doesn't actually stop bots... since they can just DM the people in that channel.
New onboarding flow:
2.; On that website they do a Captcha and then get redirected you our discord to join
Sounds good!
The discord oauth API might be useful here: -> User logs into the site using discord -> fills captcha -> gets access to server This would remove the need to set up a different bot application for generating invite links: https://discord.com/developers/docs/topics/oauth2 https://discord.com/developers/docs/resources/guild#add-guild-member
I think we could set up a site with Nodejs/Flask and use the API directly or maybe even WP. (I'm not sure if WP supports custom API calls π )
Not to self: onboarding checklist, ask people if they have giuthub account. Needed for submitting requests and ideas directly through our github board.
update on the integration: I've been playing with Discord OAuth API and the server addition logic works. The only thing needed here is captcha. (also, added a basic UI, for the looks :joy: )
Would hcaptcha
be fine for TEC, or do we need to implement our own captcha?
Also, btw reCaptcha would be quick to put in here, but I think the privacy concerns make it unpreferable and a no-no
A bot made it thru already, named "Tesla"
More info on the bots that got through: Here's a screenshot of the message sent-
There were multiple bots like this, with the same name
This is a good case for @krisjpi βοΈ
Basic Auth functionality of the Site is up. A development version of it is deployed at https://tec-discord-oauth2.vyvyvi.repl.co/
This uses hCaptcha and requires two things from user-
(the profile picture, username would be according to the user's account)
@Vyvy-vi Great job! Thanks man.
For the deployment, we discussed to create a new page (Join the Community) on TEC Website and have the Discord option and link there. So I assume we're going to deploy it there, and maybe @kristoferlund can jump in here as he's going to implement it.
I'm still waiting for the content for that Join page, or I'm gonna draft something next week and we take it from there. For bots I think we should get more help from @krisjpi if he has some time, but we should have a specific goal and outcome we want to achieve with that bot.
Setting up bot app for monitoring, is this something you can do @Vyvy-vi or you need help?
Once we set up the new page with all this we will pass this on to @iviangita @liviade1 and others to update the links across other channels.
Let me know if anything else needed.
Thanks again, great job!
I can set up the bot application, for monitoring the invite links(as discussed in the call with griff). However, I need some info on how to move forward with the bot: Should it delete any invite link, that has a use limit of more than 1 or do we need to give some space for like 5 uses?
Setting up this site on netlify(along with the main site) might need to change the current version up a bit, I think. But most of the API calls should remain the same, I guess. (This would have to be re-written in Javascript though) I guess this one can be used as a Proof of concept to model the page on the main site- ref: https://github.com/Vyvy-vi/TEC-Discord-Oauth2/
If anyone needs any help with the discord part while setting the invite page up, feel free to contact me :)
@markoprljic, would the discord bot stopper/onboarder have to live on the actual /join page?
It could also live as a standalone landing page on a separate subdomain, for instance: discord.tecommons.org. Then we wouldn't have to migrate your code to React @Vyvy-vi. Maybe just add a bit more TEC styling and a header / message to give some context.
Nope, doesn't have to be on tec site @kristoferlund we can just style @Vyvy-vi page.
Should the styling match https://tecommons.org/ ?
Should the styling match https://tecommons.org/ ?
Yes.
@Vyvy-vi Maybe we can use the section How to contribute from this post and pin in the welcome message on Discord for new joiners https://forum.tecommons.org/t/5-how-to-join-contribute/98
I'll add it to the bot's message :+1:
@Vyvy-vi Proposal on Discord Captcha Landing page
Figma source here https://www.figma.com/file/SKZCNjAWvoPqZA7xeS8HGb/TEC-Website?node-id=808%3A514
Thanks for the mockup :+1: I'll put this in today
Can you please drop the link to the website when it's all live and we can close this issue!
@tamarandom You can view the Development Version here - https://tec-discord-oauth2.herokuapp.com/
It's still a Work In Progress, esp. with the data written on the site, and the design(mainly responsiveness, compatibility with different devices like phones, tablets, etc). I would love some feedback. (I suggest trying to log in with a different discord account that isn't in the server)
It would be great if anyone gives feedback based on these-
On mobile the yellow button should be bigger. On Desktop I'd move the subtext and button a bit higher.
Other than that it's good.
@Vyvy-vi Did we get someone to set up the subdomain?
To summarise what we did to improve the onboarding:
multiban
option and canban
permission for all stewards so that we can ban multiple bots at onceAdditionally, we're sharing how to get started and other resources in the Incubator channel for all new members.
Anything else to add @Vyvy-vi ?
- We could also make a Google doc or something(maybe just a message we can copy-paste) with a step-to-step on how to get onboarded.
@danelsuga is already doing that on Discord :)
Hi!
Thanks for the shout-out, Marko. Vyvy-vi, here is the onboarding doc that includes the "how to get onboarded" message within it:
https://docs.google.com/document/d/1EiQTPNKANGwPiofEfHe-BVTzecA9vrNYPjrOt7umCXE/edit?ts=6074165a
Here is that message:
Welcome to the TEC! π
πβ¨ Weβre happy youβre here! πβ¨
ππ½ββοΈ Got questions? Join our weekly Onboarding AMA on Wednesdays at 4pm CET on our #community-hall channel on TEC Discord. π©π½βπ« π Join the community call on Discord on Thursdays at 7pm CET. βοΈ We also have an Incubator channel in DIscord where we encourage all new people come since thatβs where we often give updates!
Here are some links to get you started. ποΈ TEC Calendar β° Our meetings are open to all. Find one in our cal; looking forward to seeing you there! https://calendar.google.com/calendar/u/0/embed?src=5mkep1ad1j860k6g7i7fr8plq0@group.calendar.google.com&ctz=Europe/Berlin
π½οΈ TEC YouTube ποΈ The TEC is proactive to transparency, and so our Working Group sessions are all available on Youtube. https://www.youtube.com/channel/UCagCOhMqMNU29rWx259-tcg
For a great introduction on our design and values, watch LΓviaβs talk at ETH Dev βDeploying a self-governing communityβ: https://www.youtube.com/channel/UCagCOhMqMNU29rWx259-tcg
π TEC Blog π And read the latest posts on our blog: https://medium.com/token-engineering-commons/
Please feel free to look around, and reach out on Discord to @suga the Onboarding Coordinator if you have any questions.
π« Enjoy your stay! See you soon. ππΎ
That message is also pinned in the Discord Incubator. I'm going to update it to include the rad landing page https://tecommons.org/join!!
Katy
@Vyvy-vi Did we get someone to set up the subdomain?
I dm'ed Kris a while ago but didn't get a response.
Update- Kris set up the DNS
All set up, @Vyvy-vi wanna close it?
Closing. New issue to monitor new joiners over the coming Sprints.
π Anything to add?
I think ~25 people out of 80 people who are in the hello world channel made got stuck right there. That is over 30% failure rate!!!
β° Urgency/Due Date/Blockers?
This is pretty critical...
β Why is it important?
First impressions are very very important
π Subtasks
π€Όβ Reviewer
@
π Work doc - inspirational links