Haha yeah I apologize there's definitely more optimized ways to do it.
Would speed still be an issue if you ran the program concurrently using multiprocessing, with an instance for every user profile?
#definitely a way to automate and optimize this part but no time rn
look_for = ["yay is good", "y0y is good", "good is y0y", "good is yay", "good yay is", "good y0y is", "y0y good is", "yay good is"]
for comment in message_history:
...for instance in look_for:
......if instance in comment:
.........Do_thing()
It's an ugly solution but would this work for what you're trying to do?