Попробуй BackgroundScheduler конкретно для функции, в которой у тебя будет цикл.
документация:
https://apscheduler.readthedocs.io/en/3.x/userguid...
вот пример кода:
https://github.com/agronholm/apscheduler/blob/3.x/...
вот пример для твоего кода:
from apscheduler.schedulers.background
import BackgroundScheduler
def loop():
while 1: #цикл тут необязательный, так как таймер запускает print('цикл') каждые 10 секунд
print('цикл')
.....блок обработки входящих сообщений....
if __name__ == '__main__':
scheduler = BackgroundScheduler()
scheduler.add_job(loop, 'interval', seconds=10)
scheduler.start()
bot.polling(none_stop=True, interval=0)