Как стать автором
Обновить

Делаем Telegram бота с Админ-панелью и многими другими плюшками

Время на прочтение3 мин
Количество просмотров50K

Всем привет! Так как это моя первая статья и я не знаю что да как делать, буду писать как знаю.

Сегодня хотелось бы Вам рассказать как легко сделать своего Telegram бота на очень популярном Языке Программирования - Python. Статья будет в двух частях, в первой мы установим Python и все необходимые компоненты и напишем самого простого бота, во второй Напишем основную логику бота. Если Вы не новичок можете листать вниз, так как тут будет много знакомой вам информациию.
Не буду томить долгим вступлением, давайте начнем!

И так первое что мы должны сделать это составить план нашего бота. В план будут входить: какие функции будет выполнять бот и собстна все.

Как будет выглядеть наш бот со стороны пользователя:

  1. Пользователь заходит в бота и пишет ему команду "/start"

  2. Попадает в главное меню бота

  3. Пользователь выбирает действие на клавиатуре кнопок

Полностью функционал боа не нужно расписывать так как это будет очень долго и в дальнейшем бесполезно

Теперь представим что будете видеть Вы как Админ и Владелец этого бота:

  1. Вы заходите в бота написав ему команду "/start"

  2. Попадаете в главное меню Админ-панели

  3. Выбираете действие на клавиатуре

Вот на этом наш план бота заканчивается, приступаем к части установки Python

  1. Заходим на сайт python.org

  2. Нажимаем на вкладку "Download"

  3. Листаем в самы низ и скачиваем последнюю версию Python (на данный момент это Python 3.10)

  4. У Вас начнеться установка Установшика Python. Когда он скачается откройте его и у Вас должно открытся такое окно:

    У Вас будет надпись "Install Now", у меня не она так как у меня уже скачан Python
    У Вас будет надпись "Install Now", у меня не она так как у меня уже скачан Python
  5. Обязательно сделайте галочку рядом с "Add Python 3.10 to PATH"

  6. После установки появится возможность отключить ограничение длины MAX_PATH. В системах Linux этих ограничений нет. Проигнорировав этот пункт, вы можете столкнуться с проблемой совместимости в будущем. Код созданный на Linux не запустится на Windows.

  7. Вот и все, у Вас теперь есть Python

Теперь давайте приступим к установке, но уже бибилиотек, а не ЯП

Если не установлен pip
  1. Скачайте файл get-pip.py и сохраните у себя на компьютере.

  2. Откройте командную строку и перейдите в папку, в которой сохранен get-pip.py.

  3. В командной строке выполните команду: python get-pip.py или python3 get-pip.py.

  4. PIP установлен ?!

Создайте новую папку где будете разрабатывать бота

Зайдите в командую строку, зайдите через нее в папку для разработки и введите команду установки библиотеки aiogram

pip install aiogram

И давайте наконец приступим к коду:

  1. Для начала откроем среду разработки Python

    1. IDLE в Windows находится в меню "Пуск" → "Python 3.10" → "IDLE". Также можно быстро найти его через "Поиск" около меню "Пуск", набрав в поле поиска "IDLE":

    2. В IDLE есть возможность полноценно работать с файлами — просматривать, редактировать, создавать новые. Чтобы создать новый файл, выберите "File" -> "New File" (или Ctrl + N). Откроется новое окно:

    3. Сохраним файл в папку куда мы устанавливали библиотеку

    4. Все готово для написания кода

  2. Первое что мы должны сделать это импортировать библиотеки

    import logging # эта библиотека идет вместе с python
    from aiogram import Bot, Dispatcher, executor, types # импортируем aiogram
  3. Далее обьявляем несколько переменных:

    API_TOKEN = 'ТОКЕН' # Токен 
    logginglogging.basicConfig(level=logging.INFO) # Initialize bot and dispatcher
    bot = Bot(token=API_TOKEN)
    dp = Dispatcher(bot)
  4. Далее пишем первый обработчик команды /start и /help

    @dp.message_handler(commands=['start', 'help'])
    async def send_welcome(message: types.Message):
    	await message.reply("Привет! Это простейший бот на aiogram") # отвечает на сообщение
  5. Теперь будем обрабатывать каждое сообщение и отправлять его обратно

    @dp.message_handler()
    async def echo(message: types.Message):
    	await message.answer(message.text)
  6. И в самом конце добавляем две строчки что бы бот работал всегда

if __name__ == '__main__':
  executor.start_polling(dp, skip_updates=True)

Вот и все теперь осталось получить токен бота и вставить его в переменную API_TOKEN

Получение Токена Для Бота
  1. Открываем @BotFather и запускаем его (Старт/Start). 

  2. В списке предложенных команд выбираем: /newbot - create a new bot, нажимаем на эту команду, или вводим ее вручную в поле для ввода сообщений.

  3. Вам предложат указать как будут звать бота, в дальнейшем название бота можно будет поменять. Вводите название в поле для ввода сообщений.

  4. Далее вам предложат указать имя, по которому бот будет доступен для пользователей. Имя пишите, используя латинский алфавит, цифры и нижнее подчеркивание. Еще одно важное условие - имя должно оканчиваться на "bot". Можно также с большой буквы "Bot", или "_bot" или "_Bot".

После этих действий Вы получите сообщение с токеном бота

Его то мы и вставляем в переменную API_TOKEN

Если Вы выполнили все те шаги что описаны выше, у вас все успешно заработает и Вы молодец, если же у вас какие-то проблемы, пишите мне в Telegram@derkown

Вот и все! Спасибо за прочтение, в скором времени появиться вторая часть. Опять же мой Telegram рад приветсвовать вас. Удачи и Пока!

Теги:
Хабы:
Всего голосов 47: ↑6 и ↓41-32
Комментарии16

Публикации

Истории

Работа

Python разработчик
127 вакансий
Data Scientist
72 вакансии

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань