Как сделать эту паузу между отправкой сообщений ботом?

Я создаю своего ВК бота и у меня возникла проблема: Я сделал так, что когда пользователь пишет "начать историю", то бот начинает отправлять ему огромный текст, но по предложениям с паузой в несколько секунд. Как сделать эту паузу между отправкой сообщений ботом?

elif body.lower() == "начать историю":
    vk.method("messages.send", {"peer_id": id, "message": "12 января 2009 года.", "random_id": int(time.time())})
    vk.method("messages.send", {"peer_id": id, "message": "Холодный зимний вечер.", "random_id": int(time.time())})
    vk.method("messages.send", {"peer_id": id, "message": "Вы сидели в своей захолустной однушке и страдали, откровенно говоря, хренью.", "random_id": int(time.time())})

Ответы (2 шт):

Автор решения: Дмитрий

Примерно так:

import time

time.sleep(10)
→ Ссылка
Автор решения: GinTR1k

Для того, чтобы делать паузу между отправками сообщений, можно использовать функцию sleep:

import time

print('Hello ...')
time.sleep(10)
print('... World!')

В вашем случае:

vk.method("messages.send", {"peer_id": id, "message": "12 января 2009 года.", "random_id": int(time.time())})
time.sleep(10)
vk.method("messages.send", {"peer_id": id, "message": "Холодный зимний вечер.", "random_id": int(time.time())})
time.sleep(10)
vk.method("messages.send", {"peer_id": id, "message": "Вы сидели в своей захолустной однушке и страдали, откровенно говоря, хренью.", "random_id": int(time.time())})

Но будьте аккуратны, потому что данная функция заблокирует все ваше приложение на 10 секунд. То есть второй пользователь параллельно не получит ответ от бота вовремя, а лишь спустя 10 секунд. Вам бы в сторону asyncio и асинхронных библиотек для работы с VK смотреть тогда.

Для асинхронного кода функция sleep будет несколько иначе:

import asyncio

async def main():
    print('Hello ...')
    await asyncio.sleep(10)
    print('... World!')

# Python 3.7+
asyncio.run(main())
→ Ссылка