Как сделать что-бы бот отправлял сообщения в заданное время?
Как сделать так что-бы бот в телеграме отправлял определенное сообщение, например ‘Привет как дела?’ в 10:00 и в 20:00?
Отслеживать
2,300 2 2 золотых знака 16 16 серебряных знаков 30 30 бронзовых знаков
задан 9 фев 2023 в 20:30
53 6 6 бронзовых знаков
используйте import schedule , и потом schedule.every().day.at(«10:00»).do(send_message_dunction)
9 фев 2023 в 22:11
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
вам нужно использовать модуль schedule, который позволяет планировать задачи по времени
import schedule import time import telebot bot = telebot.TeleBot("token") def send_message(): bot.send_message(chat_id, 'Привет, как дела?') schedule.every().day.at("10:00").do(send_message) schedule.every().day.at("20:00").do(send_message) while True: schedule.run_pending() time.sleep(1)
мы создаём функцию send_message , которая отправляет сообщение через бота. Затем мы планируем её запуск каждый день в 10:00 и 20:00 с помощью метода schedule.every().day.at() . в конце, в цикле while мы запускаем все запланированные задачи и ждём 1 секунду.
Отслеживать
ответ дан 9 фев 2023 в 22:13
Senior Pomidor Senior Pomidor
12.7k 3 3 золотых знака 22 22 серебряных знака 42 42 бронзовых знака
Большое вам спасибо! Все работает как нужно.
10 фев 2023 в 21:02
@Nazar вы можете благодарить автора приняв вопрос и проголосовав вверх
10 фев 2023 в 22:11
- python
- telegram-bot
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.30.8420
Как заставить бота автоматически отправлять сообщения в заданное время?
Новичок
Делаю первого бота в телеграмме для опыта. Нужно заставить его отправлять сообщения утром и вечером.
Пока выкручиваюсь через while который запускается после команды /start, но уверен что есть способы проще.
- Вопрос задан более трёх лет назад
- 35904 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 3
import schedule import time def job(): print("I'm working. ") schedule.every(10).minutes.do(job) schedule.every().hour.do(job) schedule.every().day.at("10:30").do(job) schedule.every().monday.do(job) schedule.every().wednesday.at("13:15").do(job) schedule.every().minute.at(":17").do(job) while True: schedule.run_pending() time.sleep(1)
Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать
Самый простой вариант.
В базу писать дату, время, id пользователя и текст сообщения. Для каждого сообщения существует статус: новое, отправка, отправлено.
С помощью крона запускать скрипт каждую минуту (или другой период времени). При запуске смотреть каким пользователям уже можно/пора отправлять сообщения.
Если уже пора, то делаем отметку в базе «идет отправка» и начинаем отправлять сообщения.
После отправки пишем в базу «отправлено».
Ответ написан более трёх лет назад
Нравится 3 4 комментария
Александр @cashncarry Автор вопроса
Спасибо за метод. У меня сейчас проблема с кодом вывода самого сообщения. Знаю такой способ :
bot.send_message(message.chat.id, ‘My message’)
где message это сообщение человека на которое я отвечаю. А как отравлять первым не знаю
Создаете таблицу в базе, фиксируете каждого нового пользователя (его chat_id и прочие данные).
При создании рассылки из базы берете chat_id
Как отправлять сообщения через бота в дискорд
Discord — это приложение для голосового и текстового общения в режиме реального времени. Это одно из самых популярных приложений для геймеров, а также для других пользователей, которые хотят быстро общаться и координироваться с другими людьми. В Discord можно создавать гильдии и серверы, где пользователи могут общаться в режиме голоса и текста. Один из способов упростить общение в Discord — использовать бота для отправки сообщений.
- Шаги для отправки сообщений через бота в Discord
- 1. Создание бота, который может отправлять сообщения в Discord
- 2. Получение токена и ID бота
- 3. Добавление бота на Discord сервер
- 4. Определение канала, в который бот будет отправлять сообщения
- 5. Создание формы со списком полей
- 6. Написание скрипта, который связывает форму с ботом
- Полезные советы и выводы
Шаги для отправки сообщений через бота в Discord
Чтобы отправить сообщение через бота в Discord, выполните следующие шаги:
- Создайте бота, который может отправлять сообщения в Discord.
- Получите токен и ID бота.
- Добавьте бота на свой сервер Discord.
- Определите канал, в который бот будет отправлять сообщения.
- Создайте форму со списком полей для ввода токена, ID бота, текста сообщения и ID канала Discord.
- Напишите скрипт, который связывает форму с ботом и отправляет сообщение.
1. Создание бота, который может отправлять сообщения в Discord
Если у вас уже есть бот, пропустите этот шаг. Если вы только начинаете работать с Discord bots, следуйте инструкциям, которые приведены ниже:
- Зарегистрируйте бота на https://discord.com/developers/applications.
- Введите название и описание бота.
- Укажите, каких разрешений боту будет достаточно.
- Создайте бота.
- Сохраните токен бота и ID.
2. Получение токена и ID бота
Чтобы бот мог отправлять сообщения в Discord, ему нужен токен и ID.
- Перейдите на страницу https://discord.com/developers/applications.
- Выберите вашего бота.
- Скопируйте токен и ID из раздела «Bot».
3. Добавление бота на Discord сервер
Чтобы бот мог отправлять сообщения в Discord, его нужно добавить на сервер.
- Перейдите в настройки Discord-сервера.
- Выберите «Настройки сервера».
- Нажмите на «Интеграции».
- Нажмите на «Добавить интеграцию».
- Введите токен бота и нажмите «Сохранить».
4. Определение канала, в который бот будет отправлять сообщения
Для того чтобы бот мог отправлять сообщения в Discord, вам нужно определить канал, куда будет отправлено сообщение.
- Откройте Discord и зайдите на ваш сервер.
- Нажмите на «+» рядом с названием сервера.
- Создайте канал для бота, например, «Bot channel».
- Скопируйте ID созданного канала.
5. Создание формы со списком полей
Чтобы пользователи могли отправлять сообщения через бота в Discord, нужно создать форму, которая будет содержать список полей для ввода текста и ID канала Discord.
Форма должна содержать следующие поля:
- Токен бота.
- ID бота.
- ID канала Discord.
- Текст сообщения.
6. Написание скрипта, который связывает форму с ботом
- Импортируйте библиотеки discord.py и requests.
- Создайте объект бота с помощью токена и ID.
- Напишите обработчик событий, который будет связывать форму с ботом и отправлять сообщение.
- Запустите бота.
Полезные советы и выводы
- Создание бота для отправки сообщений в Discord может быть полезно для работы с командами.
- Используйте различные библиотеки, чтобы упростить работу с ботами в Discord.
- Используйте официальную документацию Discord для создания ботов и работы с ними.
- Обязательно проверяйте корректность введенных данных и сообщайте об ошибках пользователям.
Если вы хотите отправить сообщение в канал Discord через бота, то для этого нужно перейти на страницу со специальной формой, которая используется для отправки сообщений. В этой форме необходимо ввести текст самого сообщения и ID канала, куда вы хотите его отправить. После того, как вы заполнили форму и нажали на кнопку «отправить», бот отправит ваше сообщение в указанный вами канал. Чтобы убедиться в том, что ваше сообщение было отправлено, перейдите в канал и проверьте его наличие там. Таким образом, отправка сообщений через бота в Discord достаточно проста и не требует особых знаний или навыков.
- Вопросы
- Как дать доступ к сообщениям боту в группе
Все права защищены © 2024
Как сделать так чтобы бот мог отправлять многострочные сообщения
я пишу телеграм бота и мне нужно чтобы бот отправлял многострочное сообщение. То есть, он отправлял список игр:
1 игра 2 игра 3 игра И т.д
Использую библиотеку телебот
Отслеживать
задан 30 мар 2021 в 12:53
1 1 1 серебряный знак 1 1 бронзовый знак
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Если речь идёт о переносе строки, то достаточно добавить «\n» в текст.
send_message(message.chat.id, 'Игра 1\nИгра 2\nИгра 3')
Если же речь идёт о нескольких сообщениях, то просто несколько раз прописать команду по отправке сообщения send_message().