Например положить команды и вызываемые ими смайлики с словарь вроде smileys = {text: smile_list} и сделать цикл:
for text, smile_list in smileys:
if text in message.text:
msg = message.text
for i in range(0, len(smile_list)):
wtf = (text+"{0}]").format(i)
if wtf in msg:
bot.send_message(message.chat.id,msg.replace(wtf,smile_list[i]))
Список смайлов генерируется аналогично. Вообще, если мы видим, что у нас дважды встречается один и тот же (по структуре) фрагмент кода, значит мы что-то уже сделали не так и тут или нужен цикл или надо выделить его в отдельную функцию.