Помимо ошибок, которые мы вчера обсуждали (не объявлена переменная str, нужна доп. переменная для исключения затирания номера гражданства в numID, в строке 9 ошибка перехода на строку - вместо 7 написано 6) - нашёл как мне кажется и логическую ошибку.
Ошибка в строке 9. Получается, если пользователь написал сообщение в чат, но не сообщил о выбранном цвете, то это его сообщение игнорируется и чат снова переходит в режим ожидания. В моём варианте это уже 10-я строка, где пользователю сразу назначается чёрный цвет, если он не выбрал никакого цвета.
Попытался исправить все перечисленные ошибки.

__________________________________________________ __________________

1. Создаем color массив типа String размером 15.
2. Создаем id массив типа int размером 15.
3. Создаём переменную str типа String.
4. Создаем переменную numID типа int равную 0.
5. Создаем переменную numColor типа int равную 0.
6. Заполняем color массив названием цветов.
7. Заполняем id массив значение 0.

8. Ждем сообщения из чата и помещаем в переменную str, а номер гражданства пользователя - в переменную numID.
9. Проверяем переменную str на слово "Color" + число, если истина то переходим на строку 13.

10. Обходим массив id и проверяем ячейки на значение numID, если ложь - переменной numColor присваиваем 0 (в массиве color ячейка с таким номером отвечает за чёрный цвет). При истине номер ячейки помещаем в переменную numColor.
11. Выводим строку str цветом из массива color позиции numColor.
12. Переходим на строку 8.

13. Извлекаем число из строки str после слова Color. Число должно быть в пределах от 0 до 15. И помещаем в переменную numColor.
14. Если массив id в ячейке numColor не равен 0, то переходим на строку 8.
15. Заносим в массив id номер гражданства в позицию numColor.
16. Переходим к строке 8.

__________________________________________________ __________________
Кстати в этом коде нет наводящего вопроса для пользователей. Но такую проблему можно решить просто выставив в самом мире таблички с указанием номеров выбираемых цветов.
Также программа не имеет памяти на соответствие выбранного цвета тому или иному пользователю, точнее памяти на таблицу соответствий. То есть несколько пользователей могут выбирать один и тот же цвет. Но это походу и не нужно, так как бот всё равно не задаёт пользователю какой цвет выбрать.

В моей версии алгоритма тоже могут быть ошибки, но сейчас нет времени их перепроверять, завтра проверю.