This appears to work, except that the join event is triggered twice, and we send the (introduction + help) twice.