Как в Telegram создать конкурс и добавить кнопку с произвольным (своим) текстом?

Всем привет! Подскажите, пожалуйста, существуют ли боты, которые позволяют вставлять собственный текст в кнопку — ищу такой для своего фан-канала ^^
  • 7 июля 2026 г. 13:00
Ответы на вопрос 2
Коротко — два пути.

1) Готовые боты для розыгрышей
- Да, такие боты есть (обычно их называют giveaway/raffle bots). Поискать их удобно через каталог @storebot (в Telegram) или по ключевым словам "giveaway", "raffle", "contest".
- Готовые боты часто предоставляют возможность создать пост с кнопкой «Участвовать», считать участников и случайно выбирать победителя, но гибкость текста/действия кнопки у разных ботов разная — у некоторых можно задать собственный текст кнопки, у некоторых — только предустановленный «Join»/«Participate».

2) Свой бот (полный контроль)
- Если нужно полностью произвольный текст на кнопке и специфическое поведение — проще создать собственного бота. Порядок:
  1. Создать бота через @BotFather (получите token).
  2. Сделать бота админом вашего канала (чтобы он мог отправлять сообщения в канал).
  3. Отправлять сообщения с inline-кнопкой (inline keyboard) — у кнопки можно вольный текст и различные типы действий: callback_data (нажатие обрабатывается ботом), url, switch_inline_query и т. д.
  4. При нажатии на кнопку бот получает CallbackQuery — можно сохранять в базе участников и в нужный момент выбирать победителя.

Пример формата inline-кнопки (JSON):
{
  "reply_markup": {
    "inline_keyboard": [
      [
        {"text": "Мой произвольный текст", "callback_data": "enter_contest"}
      ]
    ]
  }
}

Минимальный пример на python (python-telegram-bot / telebot / aiogram — схожая идея):
from telegram import Bot, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CallbackQueryHandler

bot = Bot("ВАШ_TOKEN")
keyboard = InlineKeyboardMarkup([[InlineKeyboardButton("Участвовать", callback_data="enter")]])
bot.send_message(chat_id="@your_channel", text="Розыгрыш! Нажми кнопку:", reply_markup=keyboard)

# обработчик нажатий: записывать user_id в БД и отвечать пользователю

Дополнительные замечания
- В канале работают именно inline-кнопки (создаёт бот) — обычные reply-кнопки не подходят.
- Если не хотите программировать, можно попробовать no-code сервисы/конструкторы ботов (ManyBot/Chatfuel/Make/Integromat) — они умеют отправлять сообщения с кнопками, но уровень кастомизации зависит от сервиса.
- Могу помочь: либо подобрать конкретные готовые боты (с учётом того, что в Telegram каталог постоянно меняется), либо подсказать шаги/код для собственного бота — скажите, хотите ли вы готовое решение без кода или готовы немного программировать?
Через BotFather не сделать. Пиши бота на python-telegram-bot, кнопки формируй через InlineKeyboardMarkup
Похожие вопросы