• Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываются в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки не работают на форуме

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Гайд Создание простого Telegram-бота с нуля

Оффлайн

Rassol_1

Участник
LV
3
 
24.02.2024
15
1
28
Награды
4
25

Репутация:

  • Автор темы
  • #1
Telegram-боты — это удобные автоматизированные помощники, которые могут выполнять множество задач: от отправки уведомлений до обработки платежей. В этом гайде мы разберём, как создать своего первого бота на Python с использованием библиотеки python-telegram-bot.

Содержание

  1. Регистрация бота в Telegram
  2. Установка необходимых инструментов
  3. Написание кода бота (Python)
  4. Развертывание бота на сервере (бесплатные варианты)
  5. Дополнительные функции (кнопки, команды, обработка файлов)
  6. Публикация бота и мониторинг

1. Регистрация бота в Telegram

Перед написанием кода нужно получить API-токен у BotFather — официального бота для создания ботов.

Шаги:

  1. Откройте Telegram и найдите @BotFather.
  2. Отправьте команду /newbot.
  3. Укажите имя бота (например, MyTestBot).
  4. Придумайте username (должен заканчиваться на bot, например, MyTest123_bot).
  5. Получите API-токен (сохраните его, он понадобится для кода).
Пример ответа BotFather:


Copy
Done! Congratulations on your new bot.
Use this token to access the HTTP API:
123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ-123456789
Keep your token secure and store it safely...

2. Установка необходимых инструментов

Для работы бота нужен Python 3.8+ и библиотека python-telegram-bot.

Установка:

bash
Copy
pip install python-telegram-bot
(Рекомендуется использовать виртуальное окружение venv)


3. Написание кода бота (Python)

Создадим простого бота, который отвечает на команды /start и /help, а также повторяет сообщения пользователя.

Код бота (bot.py):

python
Copy
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

# Токен бота (замените на свой)
TOKEN = "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ-123456789"

# Обработчик команды /start
def start(update: Update, context: CallbackContext):
update.message.reply_text("Привет! Я простой бот. Напиши что-нибудь, и я повторю!")

# Обработчик команды /help
def help(update: Update, context: CallbackContext):
update.message.reply_text("Доступные команды:\n/start - начать общение\n/help - помощь")

# Обработчик текстовых сообщений
def echo(update: Update, context: CallbackContext):
update.message.reply_text(f"Ты написал: {update.message.text}")

def main():
# Создаём объект Updater и передаём токен
updater = Updater(TOKEN, use_context=True)

# Получаем диспетчер для регистрации обработчиков
dp = updater.dispatcher

# Регистрируем обработчики команд
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("help", help))

# Регистрируем обработчик текстовых сообщений
dp.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

# Запускаем бота
updater.start_polling()
print("Бот запущен!")

# Останавливаем бота при нажатии Ctrl+C
updater.idle()

if __name__ == "__main__":
main()

Как это работает?

  • CommandHandler — обрабатывает команды (/start, /help).
  • MessageHandler — отвечает на обычные сообщения.
  • start_polling() — запускает бота в режиме опроса сервера Telegram.

Запуск бота

bash
Copy
python bot.py
Теперь бот должен отвечать в Telegram!


4. Развертывание бота на сервере

Чтобы бот работал 24/7, его нужно разместить на сервере. Рассмотрим бесплатные варианты:

Вариант 1: PythonAnywhere (бесплатно для простых ботов)

  1. Зарегистрируйтесь на

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    .
  2. Создайте новый файл bot.py и загрузите код.
  3. Запустите в консоли:
    bash
    Copy
    python3 bot.py
    (Бот будет работать, пока вкладка активна. Для постоянной работы нужен платный аккаунт.)

Вариант 2: Replit (бесплатно + автоперезапуск)

  1. Зайдите на

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    .
  2. Создайте новый Python-проект и вставьте код.
  3. Добавьте секретный ключ (TOKEN) в Secrets.
  4. Нажмите Run — бот будет работать даже после закрытия вкладки.

Вариант 3: Бесплатный VPS (Oracle Cloud, Heroku)

  • Oracle Cloud предоставляет бесплатный VPS навсегда (но сложнее в настройке).
  • Heroku (раньше был бесплатный тариф, сейчас платный).

5. Дополнительные функции

Добавляем кнопки (Inline Keyboard)

python
Copy
from telegram import InlineKeyboardButton, InlineKeyboardMarkup

def button(update: Update, context: CallbackContext):
keyboard = [
[InlineKeyboardButton("Кнопка 1", callback_data="1")],
[InlineKeyboardButton("Кнопка 2", callback_data="2")],
]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text("Выберите действие:", reply_markup=reply_markup)
(Не забудьте добавить обработчик CallbackQueryHandler.)

Обработка изображений и файлов

python
Copy
def photo(update: Update, context: CallbackContext):
file = update.message.photo[-1].get_file()
file.download("image.jpg")
update.message.reply_text("Фото сохранено!")
(Добавляем через MessageHandler(Filters.photo, photo).)


6. Публикация бота и мониторинг

  • Добавьте описание через BotFather (/setdescription).
  • Настройте команды (/setcommands):

    Copy
    start - Начать работу
    help - Помощь
  • Мониторинг ошибок:
    • Логируйте ошибки в файл.
    • Используйте try-except для обработки сбоев.

Заключение

Теперь у вас есть работающий Telegram-бот! Дальше можно улучшать его:
Добавить базу данных (SQLite, PostgreSQL).
Подключить платежи (через Telegram Payments или криптовалюты).
Сделать веб-интерфейс (Flask/Django).

Полезные ссылки:

Удачи в создании бота!
 

Поиск по форуму

Похожие темы:

Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше....