Proposal: We could have a personal bot for Wikimedia-Zulip that sends customized messages to new users who sign-up and/or who ask for information on getting started.
Background
New contributors find their way to Wikimedia's Zulip group chat quite frequently. It is also used for GSoC, Outreachy and GSoD discussions. One of the first things they usually ask is information on contributing and getting started. The answer to this seems to be fairly consistent, i.e. pointing them to https://www.mediawiki.org/wiki/How_to_contribute, https://www.mediawiki.org/wiki/New_Developers, https://www.mediawiki.org/wiki/Good_first_bugs, etc.
I believe a mechanism to automate this process would be helpful because:
- It sometimes takes multiple hours/days for experienced users to reply to newcomers' queries
- Having a welcome message from the org when we sign-up is just a nice thing to have
Current state of affairs
Currently, Zulip does not support a feature that would allow us to customize the Welcome messages directly.
I looked it up and found a 2017 Code-In task (https://codein.withgoogle.com/archive/2017/organization/5080845647872000/task/5498541149519872/) related to this.
Going through their codebase,
- it doesn't look like the code-in solution was added to Zulip
- the welcome messages seem to be hardcoded (https://github.com/zulip/zulip/blob/092662d83e9cb313e2180583912c53ef977c570e/zerver/lib/onboarding.py)
Proposed Features
- Welcome new members and share with them kick-start resources related to Wikimedia Outreach projects.
- Provide help around FAQs (for example by using the following syntax: +search-faqs: <then question>), so we don't wait for a human (waste of time) and also avoid repeating answers.
- Direct channel members to the relevant members and/or relevant streams/topics.
- Bridge communication between a Zulip Stream, say 'Technical Support' and the IRC channel #wikimedia-tech.
(Feel free to propose more features in the comments section or in your GSoC proposals, we can then discuss their feasibility. :) )
Microtasks:
- Improve some Toolforge documentation pages: T245685, T245454
- Tasks labelled good first task and/or patch-welcome
Mentors: PM - @Pavithraes, SMs - [ @Medhabansal & @D3r1ck01 ]
Required skills: Python3 (+any Python framework - Flask, Django), JavaScript (+any JS framework - NodeJS), Linux Administration (Toolforge related), Technical Writing.
Abstract
goodbot is a help-chatbot intended for helping out new applicants of Wikimedia Outreach programs. The bot is designed to be accurate, modular, intelligent and most importantly, simple. The primary functioning of a help(chat)bot is to assist people and goodbot does that via simple, succinct help messages to lead its users to the right place, whether that be the GSoC 2020 instructions or Outreachy Round 21 project ideas, goodbot intends to do its job perfectly, all the time - and all of that is achieved with the help of the Zulip real-time API.
Zulip's real-time API is intended as a catch-all method to allow functioning of external integrations without using higher-level APIs, this will allow our bot to remain active all the time, listening in on each message and enabling it to activate anytime at our cue (such as "help me", or even "search what is the best way to write an abstract") instead of being limited to Zulip-provided webhooks and configuration limitations such as supervisord and zulip-botserver.
goodbot is always-on and ready to assist you and all it needs is an opportunity.
Currently being tasked in T247879: [Proposal][Final] goodbot: a simple, friendly bot for Wikimedia Zulipchat
If you have any feedback, please do tell us here: T252020: goodbot: Gather community opinion and research on required features