Upvote:1
Per TIMATIC, the database used by airlines:
Visa required, except for Passengers transiting through Cape Town (CPT), Durban (DUR), Johannesburg (JNB) or Lanseria (HLA) with a confirmed onward ticket for a flight to a third country.
So if Doha-Johannesburg-Gaborone is in a single booking, you do not need a visa.