Для написания бота отложенного постинга через Telegram Bot API на Python с использованием библиотеки pyTelegramBotAPI
вам понадобится следующий функционал:
1. Настройка бота через BotFather в Telegram и получение токена.
2. Создание функционала для добавления отложенных сообщений с указанием времени отправки.
3. Реализация функции, которая будет проверять время отправки сообщений и отправлять их вовремя.
Ниже приведен пример кода для простого бота отложенного постинга на Python с использованием pyTelegramBotAPI
:
import telebot import time TOKEN = 'YOUR_BOT_TOKEN' bot = telebot.TeleBot(TOKEN) scheduled_messages = [] @bot.message_handler(commands=['schedule']) def schedule_message(message): chat_id = message.chat.id msg = message.text.replace('/schedule ', '') scheduled_time = time.time() + 10 # Отложенная отправка через 10 секунд (для примера) scheduled_messages.append({'chat_id': chat_id, 'text': msg, 'scheduled_time': scheduled_time}) bot.send_message(chat_id, f'Message scheduled for {time.ctime(scheduled_time)}') def check_scheduled_messages(): current_time = time.time() for message in scheduled_messages: if message['scheduled_time'] <= current_time: bot.send_message(message['chat_id'], message['text']) scheduled_messages.remove(message) while True: try: check_scheduled_messages() bot.polling(none_stop=True) except Exception as e: print(f'Error: {e}') time.sleep(5)
В этом примере бот будет отвечать на команду /schedule {текст сообщения}
и добавлять сообщение в список отложенных сообщений с указанным временем отправки. Настройте и запустите бота, и он будет отправлять сообщения в заданное время.
Это базовый пример бота отложенного постинга. Для расширения функционала, вы можете добавить управление списком отложенных сообщений, сохранение данных между перезапусками, возможность редактирования или удаления заданий и другие функции в зависимости от ваших требований.