В зависимости от того, как бот читает слова и что потом с ними делает.
1. Если ему нужен список отдельных слов, то вот в этом примере (первый ответ) привели разделение при помощи регулярок.
ru.stackoverflow.com/questions/905570
2. Если регулярки сложно, и копипаста не помогла, то вариант проще: строки и обработка строк, например, replace, strip и split.
replace - можно выбрать символы и убрать их. Что можно бывает. перенос строк, таб (это всё спец.символы. если что), и далее все символы с клавиатуры, что не буквы. Хотя по мне, этот вариант менее рациональный, чем первый, потому что удалять из текста много что можно.
3. Ещё проще: вырезать слова, проходясь по циклу и собирая их строчку и строчку в список. Это как первый вариант, но без регулярок, опят же.
А так же можно задуматься над:
- что если там не одно слово, а целая фраза? Надо подумать про склеивание предложений, можно через join в строках. Или проход по массиву\списку строк и смотреть соседний элемент.
- что если там будет слово с заглавной буквы? Не забыть про lower() в строках
- А если хочется для бота больше осознанности? Погуглить в сторону "что такое графы" и "что такое конечные автоматы", есть бесплатные курсы. Тогда бота будет интереснее разрабатывать, смотря зачем :)