some_keyboard = InlineKeyboardMarkup() # возвращает пустую клавиатуру
some_keyboard.add(...) # добавляет кнопку
send_message(... reply_markup=some_keyboard)
something_else = InlineKeyboardMarkup().add(...) # возвращает что? клавиатуру или
# результат добавления кнопки в клавиатуру? мне лень смотреть в документацию,
# но логическая неочевидность должна намекать, что так писать очень ненаглядно
Удалять сообщение можно, для этого надо при отправке сообщения куда-то записать id сообщения, а через некоторое время вызвать его удаление.