@chezas

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

Нужна помощь. Есть бот и текстовый канал. Есть набор реплик. Задача: заставить бота отправлять случайно выбранные реплики в случайное время. Есть ли способ это реализовать? (Сам в питоне очень недавно, поэтому прошу, пожалуйста, чуть-чуть поподробнее)
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Vindicar
Ну для начала определи, что понимается под случайным временем.
Например, "одно сообщение через каждые t секунд, где t - равномерно распределённое число от 300 до 3600"
Или "выбрать случайный момент времени в сутках, дождаться его наступления, отправить реплику"
Или "пусть бот каждый N секунд бросает кубик, если выпала единица - выводим сообщение".
Все три способа подразумевают разную реализацию и разные ограничения.

Я полагаю, делаешь бота на discord.py?
Тогда копай в сторону:
1. модуля random, чтобы понят как генерировать случайные числа
2. раздел документации по discord.py посвящённый длительным процессам.

Логика примерно такая:
1. Разберись по примеру выше, как делать простой цикл, чтобы бот писал что-то в консоль.
2. Используй asyncio.sleep() чтобы задержать выполнение цикла на какое-то время.
3. Научись генерить случайные числа с помощью модуля random, и сделай задержку случайной.
4. Научись делать случайный выбор сообщения с помощью random.choice()
5. Научись отправлять сообщения в канал а не в консоль (метод, который пригодится)

Подробнее - только кодом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы