Очень хорошо. Это всеголишь набросок идеи. Так что здесь есть куча вопросов. Но при дальнейшей детализации они будут исчезать. Насчет памяти взгляните на строчку 15 и читайте пока не поймети суть. А поповоду игнорирования пользовотелей которые не в списке id так и зодумано, ведь смысал в том чтобы отоброжать строки выбраным цветом а не дублировать каждую строку чата. Моя логическая ошибка проявится думаю при реализации алгоритма, поэтому пока опускаем этот вопрос.
Теперь я хочу чтобы вы выписали здесь ключевые строки для любого алгоитма. Типа перехода на номер строки и т.д. Также выпешите строки которые по вашему мнению могут быть функциями. Тоесть строки которые подрузомивают некую под программу, типа строки 8.