Перейти к содержимому
ГоМастер

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

Найдите урок, курс, термин или раздел

Telegram ~12 часов 25 уроковновичок

Telegram-боты на Go: практический курс

Telegram-бот — идеальный первый проект на Go: живой результат за вечер, ноль настройки фронта и реальный пользователь уже сегодня. Для русскоязычного разработчика это ещё и самый частый фриланс-заказ.

Курс построен на официальной библиотеке go-telegram-bot-api. Мы идём от эхо-бота через long polling к webhook-серверу, добавляем команды, reply- и inline-клавиатуры, состояния диалога, медиа, рассылки, напоминания и ограничения Telegram. Финал — бот-трекер привычек, который можно сразу выложить на VPS.

Чему научитесь

Чему научитесь

  • Создавать бота через BotFather и хранить токен безопасно
  • Получать обновления через long polling и webhook
  • Отвечать сообщениями, командами и клавиатурами
  • Строить многошаговые диалоги с сохранением состояния
  • Работать с фото, документами и форматированием
  • Деплоить бота на VPS с systemd

Для кого курс

  • Новичкам: бот — самый мотивирующий первый проект
  • Backend-разработчикам, которым нужен внутренний бот-ассистент
  • Фрилансерам: боты — ходовой товар на биржах

Что понадобится

  • Курс Go с нуля или уверенный базовый синтаксис
  • Аккаунт Telegram и 3 минуты на регистрацию бота

Программа курса: 25 уроков

  1. 1Знакомство: зачем писать ботов на GoЧто умеет Bot API и почему Go для ботов удобный выбор.~16 мин · боты на golang, telegram bot api обзор
  2. 2BotFather: создаем бота и получаем токен/newbot, токен, описание: первые минуты бота в Telegram.~16 мин · botfather создание бота, токен телеграм бота
  3. 3telegram-bot-api: установка и первый кодgo get, NewBotAPI, debug-режим: проверяем токен.~18 мин · tgbotapi установка, telegram bot api go подключение
  4. 4Первый бот: эхо-собеседникGetUpdates, Message.Text и Reply: бот повторяет за вами.~18 мин · эхо бот go, первый телеграм бот
  5. 5Long polling: как бот слышит сообщенияUpdateConfig, Timeout и цикл обновлений: что происходит под капотом.~18 мин · long polling telegram, getupdates go
  6. 6Отправка сообщений: NewMessage и ChatIDНовый текст, ответ на сообщение, копирование сообщений.~18 мин · отправка сообщений telegram, chatid go
  7. 7Команды: /start, /help и SetMyCommandsCommand(), CommandArgs и меню команд в интерфейсе.~18 мин · команды телеграм бота, setmycommands
  8. 8Reply-клавиатуры: кнопки вместо вводаReplyKeyboardMarkup, OneTimeKeyboard: пользователь жмёт, а не пишет.~18 мин · reply keyboard go, клавиатура телеграм бота
  9. 9Inline-клавиатуры и callback-запросыInlineKeyboardMarkup, CallbackQuery и AnswerCallbackQuery.~20 мин · inline клавиатура go, callbackquery telegram
  10. 10Состояние диалога: анкета по шагамFSM на карте: бот задаёт вопросы по очереди и не путается.~20 мин · состояние бота go, fsm телеграм бот
  11. 11Хранение данных бота: память и RedisКарта с мьютексом, переход к Redis: куда девать ответы.~18 мин · хранение данных бота, redis telegram бот
  12. 12Медиа: фото, документы и voiceNewPhoto, NewDocument, FileID: бот принимает и отдаёт файлы.~18 мин · фото telegram bot go, файлы tgbotapi
  13. 13Форматирование: HTML в сообщенияхParseMode, жирный, курсив, код и экранирование пользовательского ввода.~16 мин · форматирование telegram, parsemode html
  14. 14Рассылки: уведомления подписчикамСписок chat_id, паузы и ограничения: как не забанить бота.~18 мин · рассылка telegram bot, уведомления бот go
  15. 15Inline-режим: бот в поле поискаInlineQuery и AnswerInlineQuery: подсказки в любом чате.~18 мин · inline режим бота, inlinequery go
  16. 16Редактирование сообщений и многостраничное менюEditMessageText и дизайн callback data: живые интерфейсы.~18 мин · editmessagetext, меню telegram бота
  17. 17Ошибки и лимиты Telegram: 429 и RetryAfterНормальные ответы API, таймауты и вежливые паузы.~16 мин · лимиты telegram bot, 429 telegram
  18. 18Webhook: бот как HTTP-серверListenAndServe, NewWebhook и обработка Update из POST.~20 мин · webhook telegram go, телеграм вебхук
  19. 19Напоминания: goroutine и тикерtime.Ticker в фоне, тайм-зоны пользователя: бот-будильник.~18 мин · напоминания бот go, time ticker goroutine
  20. 20Платежи: инвойсы и Telegram StarsNewInvoice, провайдеры и тестовые платежи: обзорная карта.~16 мин · платежи telegram bot, telegram stars
  21. 21Mini Apps: веб-интерфейс внутри TelegramWebApp-кнопка, что умеет Mini App и когда она нужна боту.~16 мин · telegram mini app, webapp кнопка
  22. 22Реакции, стикеры и живой тон ботаSendSticker, SetMessageReaction: меньше текста, больше эмоций.~16 мин · стикеры telegram bot, реакции бота
  23. 23Тестирование бота: хендлеры без TelegramЮнит-тесты логики, мок Update: бот не ломается на проде.~18 мин · тесты телеграм бота, юнит тесты бота
  24. 24Деплой на VPS: systemd и логиСборка, автозапуск, env-файл: бот переживает перезагрузку.~18 мин · деплой телеграм бота, systemd go сервис
  25. 25Итоговый проект: бот-трекер привычекКоманды, inline, состояния и сохранение: законченный продукт.~24 мин · трекер привычек бот, телеграм бот проект go

Вопросы о курсе

Нужен ли сервер уже на старте?

Нет. Первая половина курса работает через long polling с вашего ноутбука. Webhook и VPS появляются ближе к деплою, когда бот уже живой.

Какая библиотека используется?

go-telegram-bot-api/telegram-bot-api — самая популярная обёртка Bot API с простыми структурами. Принципы переносятся на telebot и любого преемника без труда.

Можно ли ботом заработать?

Да: мини-сервисы, уведомления, чат-ассистенты. Бизнес-логика в курсе обычный Go — ваш опыт с Redis и базами переносится напрямую.