Cor diferentes partes de uma string RichTextBox

Estou tentando colorir partes de uma string para ser anexado a um RichTextBox. Eu tenho uma string construída a partir de diferentes strings.

string temp = "[" + DateTime.Now.ToShortTimeString() + "] " +
              userid + " " + message + Environment.NewLine;

É assim que a mensagem ficaria assim que fosse construída.

[9:23 pm] Usuário: minha mensagem aqui.

Eu quero tudo dentro e incluindo os colchetes [9:23] para ser uma cor, 'usuário' para ser outra cor e a mensagem para ser outra cor. Então eu gostaria que a string anexada ao meu RichTextBox.

Como posso fazer isso?

questionAnswers(8)

yourAnswerToTheQuestion