Вот простая инструкция:
### 1. Создание Telegram-бота
1. Откройте Telegram и найдите бота @BotFather.
2. Создайте нового бота:
- Введите команду /newbot и следуйте инструкциям:
- Дайте боту имя.
- Задайте уникальный username (окончание должно быть на "bot").
3. Сохраните полученный токен. Этот токен потребуется для доступа к API Telegram.
### 2. Установка необходимых библиотек
Для разработки бота вам понадобятся библиотеки. Если вы выбираете Python, то рекомендуется использовать библиотеку python-telegram-bot. Убедитесь, что у вас установлен Python. Затем установите библиотеку:
pip install python-telegram-bot
### 3. Создание основной логики бота
Создайте файл, например bot.py, и добавьте в него следующий код:
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
import logging
import time
import threading
# Включение логирования
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
# Здесь храните ID подписчиков
subscribers = set()
TOKEN = 'YOUR_BOT_TOKEN' # замените на ваш токен
def start(update: Update, context: CallbackContext) -> None:
"""Команда /start добавляет пользователя в подписчики."""
subscribers.add(update.message.chat_id)
update.message.reply_text('Вы подписались на ежедневные рассылки!')
def send_messages():
"""Функция для отправки сообщений подписчикам."""
while True:
time.sleep(86400) # 86400 секунд = 24 часа
message = "Ваше ежедневное сообщение!"
for subscriber in subscribers:
# Отправка сообщения
try:
context.bot .send_message(chat_id=subscriber, text=message)
except Exception as e:
logging.error(f"Ошибка отправки сообщения: {e}")
def main() -> None:
"""Запуск бота."""
updater = Updater(TOKEN)
# Получаем диспетчер для регистрации обработчиков
dispatcher = updater.dispatcher
# Обработчик команды /start
dispatcher.add_handler(CommandHandler("start", start))
# Запускаем поток для отправки сообщений
threading.Thread(target=send_messages, daemon=True).start()
# Запускаем бота
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
### 4. Запуск бота
1. Замените YOUR_BOT_TOKEN на ваш токен.
2. Запустите бота:
python bot.py
### 5. Проверка работы
1. Найдите вашего бота в Telegram и отправьте команду /start. Вы должны получить сообщение о подписке.
2. Бот будет отправлять сообщение раз в день всем подписчикам.
### Обратите внимание
- Убедитесь, что ваш бот работает на сервере, чтобы его не отключали.
- Используйте базы данных (например, SQLite или PostgreSQL) для хранения ID пользователей, если хотите, чтобы бот не терял подписчиков при перезапуске.
- Также стоит обрабатывать возможные ошибки при отправке сообщений, чтобы избежать сбоев работы бота.
Программу для написания кода можно использовать Pycharm либо аналоги
Знающие люди, подскажите, как создать ТГ бота, который будет отправлять определенные сообщения людям которые на него подписались? Условно, мне раз в день нужно отправлять определенный текст подписавшимся, и всё, больше никакой функционал не нужен