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

Сегодня хотелось бы Вам рассказать как легко сделать своего 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

Комментарии (0)


  1. motoroller95
    02.01.2022 16:57
    +10

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

    В итоге из плюшек тут только установка питона. Ну шо тут сказать... "познавательно"


  1. kAIST
    02.01.2022 16:59
    +6

    Среди тысяч статей на Хабре, как написать telegram бота, кажется это первая, где посоветовали IDLE в качестве IDE. А так, да, стабильность!


    1. Shaz
      02.01.2022 17:00
      +19

      И первая где установке питона уделено больше внимания чем коду.


  1. Valien
    02.01.2022 18:19
    +2

    а где?



  1. APXEOLOG
    02.01.2022 22:43
    +4

    Это что, опять статья на зачет?


  1. kryvichh
    03.01.2022 10:45

    Хотел посмотреть насколько сложнее/легче на Питоне реализовать бота по сравнению со своей реализацией на Delphi, а тут просто использован готовый фреймворк aiogram. Ну да, так-то бот пишется в 5 строк.


  1. Valien
    03.01.2022 12:17
    +2

    Я пишёл на админку смотреть. Что там сейчас для этого берут? Django, fastapi-admin, FlaskAdmin и что-то новое, а тут похоже не дописали статью ещё


    1. NeoLab
      05.01.2022 13:50

      Аналогично. Было интересно посмотреть, но кроме кода весьма сомнительного качества и комментариев к нему тут ничего не найти


  1. UrbanRider
    03.01.2022 13:29

    Наступил 22й год, на хабре начали учить людей, как ставить пайтон. Кошмар, какой кошмар.
    Статья не соответствует заголовку совсем.


  1. motoroller95
    03.01.2022 13:38
    +2

    Господа, которые плюсуют статью, скажите за что?


    1. upagge
      04.01.2022 11:13

      Очевидно, они успешно установили питон))