Как создать своего Telegram-бота на python за 20 минут быстро и легко — видео
Ранее я публиковал пост о том, как можно быстро и легко создать своего Telegram-бота за 20 минут. В комментариях меня попросили сделать видео.
Приятного просмотра!
Ранее я публиковал пост о том, как можно быстро и легко создать своего Telegram-бота за 20 минут. В комментариях меня попросили сделать видео.
Приятного просмотра!
Сегодня я расскажу вам, как можно быстро создать Telegram-бота! Для этого необходимо иметь компьютер/ноутбук с установленным Python и любой удобной для вас IDE. Также потребуется аккаунт в Telegram.
⚠️ Перед продолжением сразу предупреждаю, что в посте присутствует реклама
Итак, для начала давайте первым делом научимся создавать бота в Telegram. Для этого на потребуется BotFather. Заходим в Telegram и нажимаем на значок лупы.
В поиск вбиваем BotFather и нажимаем на бота BotFather, напротив которого есть специальная галочка, говорящая о том, что бот официальный. После запуска введите команду /newbot, которая и активирует функцию создания бота в Telegram.
Теперь давайте придумаем имя боту. Просто введите его в формате следующего сообщения в ответ боту. Далее нас попросят придумать username для бота — специальное идентификационное публичное имя, по которому Вашего бота смогут найти и запустить другие люди. Оно обязательно должно оканчиваться на _bot и быть уникальным — если бот выдаёт ошибку, это значит, что кто-то уже занял такое имя и по нему доступен другой бот. Также не придумывайте слишком длинные имена — это также приведёт к ошибке!
Итак, публичное имя создано! Дальше идёт длинное сообщение — в этом сообщении присутствует ссылка на бота (можно открыть и запустить уже прямо сейчас) и токен бота. Токен нужно немедленно скопировать! Токен — это, своего рода, пароль к боту — его нужно хранить в секрете и никому не показывать!
После этого бот готов, но чего-то не хватает! Давайте сделаем следующее:
Дадим боту описание
Сделаем приветствие (description)
Сделаем картинку боту для красоты
Сделаем description-картинку
Настроим команды
Напишем код на Python и начнём общение с ботом
Отправьте в BotFather команду /setabouttext — настроить описание. После этого опишите бота максимально коротко, оставляя только главную информацию — описание должно быть не более 120 символов!
После этого давайте сделаем приветствие — отправьте в BotFather команду /setdescription — настроить дискрипшн. На дискрипшн ограничений нет, но лучше, чтобы оно не превышало 300 символов — в случае превышения картинка к описанию и само описание будут обрезаны.
Далее давайте установим картинку описания. Это можно сделать командой /mybots. Затем выберите своего бота из списка, нажмите «Edit Bot», затем «Edit Description Picture». После этого пришлите картинку 640x360 пикселей — допускается фото или GIF.
Сама же картинка бота добавляется командой /setuserpic. После этого пришлите нужное фото боту — оно пойдёт в качестве его фото профиля. Картинки можно сгенерировать в этом боте — там даётся несколько бесплатных картинок — как раз хватит для нашего бота (реклама).
Теперь давайте настроим команды. Это можно сделать командой /setcommands. Бот попросит Вас прислать команды в таком формате:
one - описание
two - описание
...
На самом деле вместо one или two можно написать совершенно любую команду — это должно быть одно короткое слово на английском языке, к которому добавится /, и команда добавится в меню бота. Я напишу команды вот так:
start - Перезапуск бота
random - сгенерировать рандомное число
У меня бот будет предназначен для выбора случайного числа от 1 до 10, поэтому я и решил сделать ему команду /random.
Теперь давайте научим бота отвечать на сообщения — запрограммируем его! Для этого нам понадобится компьютер/ноутбук с установленным Python и удобной для Вас IDE. В IDE перейдём во вкладку terminal и напишем вот такую команду:
pip install PyTelegramBotAPI
Эта команда установит библиотеку PyTelegramBotAPI, в которой есть модуль telebot — с ним мы и будем работать.
В IDE создаём новый файл и вставляем следующий код:
import telebot
import random
TOKEN = '123456789:ABCdefGhIJKlmNoPQRsTuvWXyz' # Замените на реальный токен из BotFather (ранее мы копировали его)
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Добро пожаловать в Вашего первого бота!")
@bot.message_handler(commands=['random'])
def send_random_number(message):
number = random.randint(1, 10)
bot.reply_to(message, f"Случайное число: {number}")
bot.polling()
После запуска данного кода в Вашей IDE бот заработает! Вы можете изменить код под свои задачи, а если не хватает навыков программирования, можно изучить базовую документацию Python и PyTelegramBotAPI.
Теперь очень важный вопрос: а как сделать, чтобы бот работал без запуска через IDE? На самом деле, это популярный вопрос для новичков. Для запуска бота через облако нужны специальные сервисы — хостинги. На них можно запустить бота, и он будет работать 24/7. Выбор подходящего сервиса и тарифа зависит от задачи Вашего бота — если бот простой, то и хостинг найти будет легче, и тариф в большинстве случаев будет бесплатный.
Спасибо за просмотр!
Привет, Пикабу.
Я юрист, который в какой-то момент слишком сильно увлекся автоматизацией и нейросетями. В какой-то момент меня накрыло простое осознание:
я живу как личный ассистент самому себе.
Держу в голове:
кому что пообещал
когда созвон
что надо купить
какие задачи по проектам
и при этом еще стараюсь не сжечь ужин
Знакомьтесь, Маркус.
Мой личный AI-дворецкий, который живет у меня на сервере и общается со мной через Telegram.
Большинство AI-ботов ведут себя как рыбка Дори.
Поговорили — забыли. Никакой долгосрочной памяти, никакого чувства времени.
Сегодня ты им рассказываешь про проект.
Завтра спрашиваешь: «О чем мы договаривались с тем клиентом?»
В ответ — уверенная галлюцинация или «я не в курсе, давайте начнем сначала».
Мне нужен был не чатик «поболтать», а ассистент, который:
помнит контекст
умеет ориентироваться во времени
сам напоминает о важных мелочах
и забирает с меня планирование дня
Поэтому я собрал Маркуса.
Технически это связка:
Telegram-бот
n8n (конструктор автоматизаций)
Gemini (нейросеть от Google)
Supabase + PostgreSQL (база данных и векторное хранилище)
Но если без техножаргона — это такая прослойка между мной и нейросетью, которая:
записывает важные вещи в память
прикидывает, что и когда нужно сделать
возвращает мне не просто «ответ», а действие: план, напоминание, расписание
Маркус — Data Hoarder.
Он сохраняет все важное:
факты
договоренности
мои предпочтения
детали проектов
Я могу спокойно спросить:
«О чем мы договаривались с тем клиентом месяц назад?»
И вместо «ну там что-то про сроки» получить конкретный ответ из базы.
Технически это сделано через RAG и векторную базу в Supabase, но обычному пользователю это знать не обязательно — важно, что оно просто работает как долговременная память.
У обычных нейросетей с этим боль:
«завтра»
«через час»
«вечером»
Для них это просто слова, а не реальное время.
У Маркуса внутри встроен код, который каждый раз чекает текущее время и работает с нормальными таймстампами.
Поэтому он понимает разницу между:
«напомни через 30 минут»
«напомни завтра утром»
«запланируй в следующую субботу»
Сцена из жизни.
Я:
«Поставил курицу в духовку, напомни позже, а то я себя знаю…»
И иду дальше жить.
Работа, телефон, что-то читаю — классика.
Через время Маркус сам присылает:
«Эй, проверь духовку, а то будет дымовая машина».
Обычный чат-бот так не сделает, потому что:
не запоминает такие вещи
не понимает, когда «позже»
и не инициирует разговор первым
А здесь система сама ставит «событие» и сама выходит на связь.
Это вообще главная причина, почему я за это сел.
Я заметил, что больше устаю не от задач, а от постоянного решения: «что, когда и в каком порядке делать?».
Теперь мой процесс такой:
Я записываю голосовое в Telegram:
«Завтра надо к зубному, потом созвон, хочу в зал и час на чтение.»
Маркус:
через Gemini расшифровывает голос в текст
вытаскивает задачи, время, приоритеты
оптимизирует порядок
возвращает мне готовое расписание
Мозг не тратит энергию на «раскидать по времени».
Я просто выполняю.
Я не держу в голове «мелочь», она вся слита в систему.
Я не думаю, «когда лучше вставить спортзал» — это уже просчитано.
Я не шифруюсь в куче чатов, чтобы найти старую договоренность.
Да, все это технически реализовано на n8n, Supabase и прочем стеке, но по ощущениям —
как будто у тебя появился очень внимательный, немножко занудный, но эффективный ассистент.
Во-первых, потому что это чистый «контент из лиги лени».
Сделал систему, чтобы меньше думать о бытовом.
Во-вторых, интересно, кто еще так извращается:
вы ведете дела в блокнотах/ноушене?
пользуетесь просто календарем?
или уже тоже пытались прикрутить нейросеть к своим делам?
Если интересно, могу в отдельном посте подробнее разобрать техническую часть:
как это собрано в n8n
как хранится память
как работают напоминания и датчики времени
Ну и да, я про такие штуки регулярно пишу у себя в Telegram-канале про автоматизацию и AI-помощников.
Если тема зашла — заглядывайте в тг t.me/vladexecute
Всем привет! Я разработчик/маркетолог, и я зае... устал.
Устал от того, что к концу недели кажется, будто я ничего полезного не сделал. Знакомо чувство, когда в пятницу вечером сидишь такой: «Вроде пахал как лошадь, а по факту пустота»?
Это классический синдром самозванца. Баг мышления, когда ты списываешь свои успехи на удачу («просто повезло», «клиент добрый попался»), а любые косяки считаешь доказательством своей профнепригодности.
В какой-то момент мне надоело кормить психологов и ныть друзьям (у них своих проблем хватает). Я решил: я ж программист! Если мозг не хочет запоминать хорошее, я заставлю его это делать с помощью кода.
Так родился «Бадди» - мой карманный цифровой бро, который не дает мне скатиться в депрессию. Рассказываю, как это работает и что там под капотом.
Проблема в памяти. Самозванец (тот самый внутренний голос) работает как фильтр: он пропускает весь негатив, а позитив отбрасывает.
Попытка рассказать друзьям о работе обычно заканчивается ничем. Для них твой сложный деплой или хитрая рекламная кампания выглядят как магия. Они кивают: «Ну, молодец», и разговор уходит в другую сторону.
А начальник, который хвалит просто так - это вообще зверь из Красной книги.
В итоге:
Работа сделана.
Дофамина нет.
Самооценка падает.
Повторить.
Я не хотел делать очередного «успешного бота» с цитатами Джейсона Стэтхема. Мне нужен был инструмент, который работает с фактами.
1. Принудительный сбор побед
Память у меня как у рыбки. Поэтому бот каждый вечер в 21:00 деликатно стучится в личку: "Эй, бро, запиши хоть одну мелочь, которую ты сегодня сделал".
Не обязательно "спас мир". Достаточно "пофиксил баг, который бесил неделю" или "не убил заказчика, который просил поиграть со шрифтами".
2. Еженедельный отчет (чтобы офигеть)
В воскресенье бот присылает AI-саммари за неделю. И вот тут случается магия. Ты читаешь и думаешь: "Ого, я реально столько всего разгреб?". Это лучшее лекарство от ощущения бесполезности.
3. Режим «Вентилятор» (или «Поорать в ведро»)
Иногда советы не нужны. Нужно просто выплеснуть яд.
Я сделал режим, где можно материться, жаловаться на тупых клиентов, на погоду, на код. Бот всё это слушает (как бармен), поддакивает, а потом предлагает ритуал сожжения.
Ты нажимаешь кнопку, и бот пишет: "Я всё услышал, я всё понял. Давай это уничтожим". И удаляет переписку. Психологически работает на ура как будто реально выговорился и смыл негатив.
4. Киллер-фича: RAG (или «Я помню всё»)
Обычный ChatGPT забывает контекст. Мой бот - нет.
Я прикрутил RAG (Retrieval-Augmented Generation). Бот лезет в базу твоих же записанных побед.
Как это выглядит:
— Я: Всё тлен, я плохой специалист, ничего не умею.
— Бот: Так, стоп. Ты же во вторник сам писал, что снизил цену лида в два раза через A/B тест. И в четверг закрыл сложный таск по API. Плохие спецы так не умеют. Вот факты, не ной.
Он бьет самозванца его же оружием - фактами, про которые ты сам забыл.
Никакого рокет-саенса, всё по классике, чтобы работало быстро и бесплатно (пока):
Язык: Python
Библиотека: aiogram 3.x (асинхронность - наше всё).
Мозги: Google Gemini (Flash модель - быстрая, дешевая и на удивление адекватная в поддержке диалога).
База: SQLite + aiosqlite (для пет-проекта хватает за глаза).
Векторный поиск: простая реализация, чтобы искать матчи по контексту прошлых записей.
Пользуюсь сам, подсадил пару знакомых фрилансеров. Эффект есть: уровень тревожности снизился, а синдром самозванца теперь душит не каждый день, а только по праздникам.
Главный инсайт: если ты сам себя не похвалишь - никто не похвалит. А если забываешь хвалить - делегируй это нейронке.
Если кому-то тоже нужен такой цифровой бро, чтобы не сойти с ума в дедлайнах - велкам. Денег не прошу, рекламу не показываю, просто делюсь инструментом.
Ссылка на бота: Тык
(Если ссылка не открывается, ищите в поиске ТГ: @noneimposter_bot)
Пишите в комменты, какие фичи еще добавить, чтобы окончательно добить депрессию? 👇
Думаю, каждый, кто активно пользуется Telegram, сталкивался с этим чувством: на экране всплывает уведомление, вы видите начало фразы, но стоит разблокировать телефон и открыть чат — а сообщения уже нет. Остается только гадать, что там было: опечатка или важная информация, которую от вас решили скрыть?
Меня как разработчика эта ситуация всегда цепляла. Это не просто мелкое неудобство, а сломанный пользовательский опыт: информация была доставлена, но тут же отобрана. Я решил, что с этим можно что-то сделать, и так появился мой пет-проект — бот, который возвращает пользователю контроль над его диалогами.
Идея была в том, чтобы создать инструмент, который фиксирует первоначальное состояние сообщений. Если собеседник решит что-то удалить или изменить, у вас останется оригинал.
Я сфокусировался на трех ключевых функциях:
• 📝 Перехват удаленных сообщений. Если собеседник отправил сообщение, а через секунду его удалил, бот успеет пересылать вам копию. Это работает со всеми типами контента: текст, голосовые, стикеры, файлы, геолокация и т.д.
• 🔄 История изменений. Когда кто-то редактирует свое сообщение, меняя его смысл, бот присылает наглядное уведомление в формате «Было» / «Стало».
• 📸 Сохранение исчезающих медиа. На мой взгляд, это самая сильная функция. Бот умеет перехватывать самоуничтожающиеся фото и видео. Вместо одноразового просмотра вы получаете полноценный медиафайл, который сохраняется в вашем чате с ботом.
За несколько месяцев тестирования накопилось примерно 21 тысяча событий (изменение/удаление/исчезающие медиа). И главное открытие: люди куда чаще отправляют исчезающие медиа, чем удаляют текст. Текст чаще просто исправляют. А вот фото — прячут намеренно.
P.S. (это анонимные логи операций, не содержащие содержание сообщений — только типы действий: удаление, редактирование, исчезающие медиа). Если что — бот не сидит с лупой над вашей перепиской. Максимум, что он “видит”, это то, что кто-то где-то что-то удалил. Представляете? У нас даже нет пункта «почитать драму», только «о, кто-то снова нажал удалить у всех». Так что бот остаётся цифровым Форрестом Гампом: он знает, что что-то произошло, но понятия не имеет, что именно. 😄
Бот работает исключительно через официальный Telegram Business API. Это не сторонний клиент и не "серая" схема.
Однако важно понимать и его ограничения, чтобы не было ложных ожиданий:
1. Бот не видит историю. Он начинает работать только с момента подключения и не имеет доступа к сообщениям, отправленным ранее.
2. Бот работает только в личных чатах. Технология Telegram Business API на данный момент не позволяет отслеживать события в групповых чатах.
Проект продолжает развиваться. Сейчас я собираю обратную связь, чтобы понять, какие еще функции могут быть полезны пользователям. Буду рад, если вы поделитесь в комментариях своими идеями или кейсами, где такой инструмент мог бы пригодиться.
Ссылка на бота: @dialog_guard_bot
В моей MMORPG в телеграм пришло некоторое обновление.
🔥 Новое приключение ждёт в Слип-Дистрикте! 🔥
Друзья, у нас отличные новости! В локации Слип-Дистрикт запущена новая игровая механика — Экспедиция! 🚀
Теперь вы можете отправиться в путешествие по пустошам, чтобы:
✅ Набраться опыта выживания — каждый шаг научит персонажа быть осторожнее и сообразительнее.
✅ Заработать немного монет
✅ Отыскать ценные артефакты — кто знает, что осталось после войны корпораций? Возможно, именно вы найдёте редкий предмет, потерянный в пыли прошлого…
Экспедиция — это своего рода прогулка. Шанс проверить свою удачу и, может быть, разбогатеть… или хотя бы выжить! 😏
Ваши отзывы помогут нам сделать Экспедицию ещё интереснее и опаснее (в хорошем смысле!).
Это продолжение цикла о разработке текстовой игры в телеге.
Итак, остановились в прошлый раз на том, что получили в свои руки cursor и проект был практически пересобран, сломан, опять собран и вроде как в воздухе витал запах продакшена.
Однако...
Когда наконец я решил насладиться игрушечкой и поделился ей с небольшим кругом товарищей. Выяснилось что игра примерно не игра. Т.е. функционал есть, все работает. Но игры как таковой там нет.
Боевая система
Изначально хотелось что-то не сложное, что бы не сильно заморачиваться, pve было по технологии ход игрока - случайный ответ бота. И конечно же получилось так, что весь бой превратился в затыкивание бота, и предсказуемый результат. А еще все статы ботов задавались вручную, из-за чего отбалансировать нормально 10 NPC против усредненного игрока, не смогла даже нейросеть.
В итоге было принято решение менять боевую систему и подход к npc.
Сначала подобрали оптимальную формулу для рассчета характеристик npc в зависимости от заданного ему уровня и уровня персонажа. Это отняло весь рабочий день, но результат получился великолепным, все NPC стали адаптивными, они не отлетают от одного удара если игрок превосходит их по уровню, и не убивают одним ударом если игрок дохляк.
На следующий же день я взялся за боевую систему. Т.к. NPC отбалансировались, они стали по интересней, но стратегия "бей пока бьется" все еще была имбалансной. Тогда я решил что очки действий станут хорошим балансиром в этой стратегии. Они не дадут бесконечно долбить ботов, и разнообразят геймплей легкими математическими задачками 😂
После того как я прогнал примерно 30 боёв в ручную и 1000 боев симулировали нейросетью с кодом. Была определена более менее интересная балансировка очков действий. На альфа тесте боевка показала себя уверенно. И было решено мигрировать этот же принцип в pvp.
Альфа тесты прошли гладко и предсказуемо, хотя я все еще собираю обратную связь от игроков (и вы можете к игрокам присоединиться). Лично мое мнение, получилось прекрасно, мне самому нравится в этих боях участвовать, хоть иногда и забываю что надо пару хилок все же припасти.
На этом откланиваюсь, в следующей статье будем близится к финалу. Ведь там пошел кОнтент. Наполнение игры принесло свои неожиданности, но об это уже в следующей статье.
И давайте реакции свои сюда пожалуйста, а то в игру я вижу как вы заходится, а тут ни реакций ни комментария, грустненько же 🥲
Привет, Пикабу!
Это пост из цикла про разработку моей инди-игры «Кибергород: Сетьера» — если вдруг интересно, как я вайбговнокодил с нейронками киберпанк ММОРПГ, то прошу добро пожаловать 🤗
Еще в начале сентября (спустя неделю после старта то), я думал что проект почти в финале, и о боже, как же я ошибался.
С Qwen мы уперлись в стену: проект разросся, код стал похож на спагетти из старого хабаровского интернета 2003 года, и он уже не справлялся — просто не хватало памяти на контекст.
Я подумал: «Ладно, оставлю как есть — простенький PvE, пару локаций, ходилки туда-сюда. Хватит, что б похвастаться»
И тут товарищ рассказал про Cursor.
Не просто чат бот.
Это как будто в команду пришёл разработчик, который прочитал весь мой проект и сказал "Миша, все х*ня, давай по новой"… и сломал бота (спасибо, дура, это я и без тебя мог).
Потратил два дня, чтобы:
- распутать, что вообще произошло
- понять, какие изменения — прям очевидно нужные, а какие — фантазии больного геймдизайнера.
- выстроить новый план развития
И за следующие пару тройку дней, игра взлетела на новый уровень:
- полностью переработан PvE
- добавлен PvP
- появились квесты, диалоги, NPC с характером
- открылись магазины, инвентарь, экономика
- и, главное — мир стал живым: не просто «коробки в тумане», а прям инфраструктурный проект.
От таких возможностей глаза загорелись, как в картинках которые mj генерирует.
Я даже подумал: «Всё, основа готова. Осталось наполнить контентом — и можно анонсировать!»
Почти успокоился.
Но…
Как только запустил объёмное тестирование — началось самое интересное...ну, об этом — в следующий раз 😏
---
P.S.
Если вам интересно, ссылочка на игру
Подписывайтесь ❤️