На каком языке писать бота Telegram

Создаем Telegram-бот, работаем c I/O Bound нагрузкой, подключаем фичи Google Drive и пишем на C внутри Python.

Введение

В этой инструкции мы создадим приложение, которое интегрируется со сторонними API. Разберем I/O Bound нагрузку и поработаем с асинхронностью в Python.

Часть сервера Telegram-бота мы будем писать на С, так как он считается перформанс-ориентированным языком, поэтому посмотрим также модуль обработки СPU Bound нагрузки, использующийся для сложных вычислений процессора.

Создаем Telegram бота на Python часть-1

Создаем Telegram бота на Python часть-1

10.09.2019

11505

Рейтинг: 5 . Проголосовало: 7
Вы проголосовали:
Для голосования нужно авторизироваться

Какой язык программирования выбрать начинающим? (и первая практика кодирования — пишем бота)

advertisement advertisement

Существует множество различных статей и учебных пособий по созданию ботов для телеграмм, некоторые из них достаточно сложны, часть требует знания отдельных технологий и фреймворков. В данной статье мы рассмотрим создание чат бота в мессенджере Telegram с нуля. От нас не будет требоваться каких-то специальных знаний. Для начала достаточно будет начальных знаний языка Python в качестве языка программирования.

Часть 1: Регистрация нового Telegram Bot-а

advertisement advertisement

После начала общения с этим ботом, нажав /start, вы получите ответ от бота с указанием его возможностей. Нас интересует создание нового бота — /newbot.

После того как мы введем /newbot нас попросят придумать имя для нашего нового бота. Пусть оно будет MyFirstTestBot.

Далее нам нужно придумать юзернэйм для нашего бота. В нашем случае это будет mft001_bot.

После этого BotFather высылает нам специальный токен:

Пишем TELEGRAM бота на Python

Наш токен оказался: 851216368:AAG6_JHHsIqAK-lX2CxOWQHTAM109zdrcZM (В вашем случае токен будет другой.)

Этот токен понадобится нам при настройке нашего бота. Токен должен быть сохранён. Именно он является единственным ключем для взаимодействия с ботом.

Также мы получаем ссылку на нашего бота. В моем случае это t.me/mft001_bot.

Еще по теме:  Web Telegram org отзывы

Теперь наш Tekegram-бот создан. Мы можем начать настраивать своего бота, например, установить изображение для бота, изменить или добавить описание бота и тп.

Тема связана со специальностями:

С регистрацией бота мы закончили. Наш бот уже есть, но на данный момент он еще ничего не умеет. Теперь нам нужна его начинка – какой-то механизм, который будет обрабатывать наши запросы к этому боту и возвращать нам ответы.

Часть 2 Написание кода

Как и написано выше мы будем создавать нашего бота на языке Python. Установите его с официального сайта, если вы используете Windows или выполните команду в терминале на Linux:

sudo apt-get install python python-pip

Далее воспользуемся системой управления пакетами PIP, которая используется для установки и управления программными пакетами, и установим библиотеку PyTelegramBotAPI (Telebot):

pip install pytelegrambotapi – user

Создадим логику работы нашего бота. Используя полноценный IDE или простой текстовый редактор создадим файл ourbot.py и заполним его необходимой логикой.

Для начала нам нужно выполнить импорт библиотеки PyTelegramBotAPI (Telebot), написав в нашем файле:

import telebot

Далее подключим нашего бота, используя полученный ранее токен:
bot = telebot.TeleBot(‘851216368:AAG6_JHHsIqAK-lX2CxOWQHTAM109zdrcZM’)

Теперь создадим метод, для получения сообщений.

Возможности PyTelegramBotAPI позволяют отправлять боту аудио (content_types=[‘audio’), видео (content_types=[‘video’), документы (content_types=[‘document’), текст (content_types=[‘text’), географический адрес (content_types=[‘location’), данные контакта (content_types=[‘contact’) и стикеры (content_types=[‘sticker’). Мы, для простоты опыта, будем общаться с ботом только текстом:

def handle_text_messages(message):

Теперь рассмотрим логику обработки наших текстовых сообщений. Мы хотим захардкодить простое общение бота с пользователем: бот должен уметь здороваться, когда с ним здороваются, уметь отвечать на вопросы «Кто ты?», «Как тебя зовут?» и «Что ты умеешь?».

Видео курсы по схожей тематике:

UX/UI Design мобильных приложений

UX/UI Design мобильных приложений

Scala Стартовый

Scala Углубленный

if message.text == «Привет»:
bot.send_message(message.from_user.id, «Привет»)
elif message.text == «Кто ты?»:
bot.send_message(message.from_user.id, «Я тестовый чатбот для учебного примера.»)
elif message.text == «Как тебя зовут?»:
bot.send_message(message.from_user.id, «Меня зовут MyFirstTestBot.»)
elif message.text == «Что ты умеешь?»:

bot.send_message(message.from_user.id, «Я умею отвечать на несколько простых вопросов — кто я, как меня зовут и что я умею делать.»)

bot.send_message(message.from_user.id, «Я тебя не понимаю. Напиши что-то другое.»)

После тела метода, обрабатывающего наши запросы к боту, добавим вызов метода:

Еще по теме:  Телеграмм веб просит ввести пароль

bot.polling(none_stop=True, interval=0)

Задачей этого метода является создание потока, в котором бот отправляет запросы на сервер, уточняя таким способом, не писал ли ему кто-то сообщение. Параметр none_stop: False означает, что наша программа будет продолжать отправлять запросы на сервер после получения сообщения об ошибке от сервера Telegram.

Сохраним наш код:

Создание телеграм бота с помощью Python

телеграм бот

Как создать телеграм бота практически с неограниченным функционалом. Если вы знаете Python — то это будет несложно!

Какую библиотеку выбрать?

Одной из лучших библиотек Python для работы с Telegram является aiogram. Она предназначена для создания ботов на Telegram и имеет высокую производительность и поддержку. Однако, у aiogram может быть проблема с документацией, но есть чат в Telegram, где всегда можно получить помощь от разработчика библиотеки.

Вы также можете запустить сервер без сервера на платформах Azure, Google, AWS или Yandex Functions с бесплатным лимитом в 1 000 000 обращений в месяц.

Также стоит обратить внимание на библиотеку telethon, если вам требуется делать то, что может только клиент Telegram, например, загружать файлы размером более 40 МБ. Она асинхронная и общается с серверами Telegram по протоколу MTProto. Одна из реализаций telethon, подходящая для создания ботов — Garnet.

Исходя из этой информации, можно сделать следующие выводы:

  • Если вам нужна библиотека с высокой производительностью и поддержкой, но вы готовы справляться с возможными трудностями в документации, выбирайте aiogram.
  • Если вам нужно что-то простое и хотите подробную документацию и сниппеты кода, обратите внимание на python-telegram-bot.
  • Если вам нужно делать то, что может только клиент Telegram, рассмотрите библиотеку telethon.

Порядок создания нового телеграм бота

Действия в телеграм

  1. Создайте новый бот в Telegram через BotFather:
  2. Откройте Telegram и найдите BotFather.
  3. Начните диалог с BotFather и нажмите «/start».
  4. Следуйте инструкциям BotFather для создания нового бота:
  1. Введите имя бота (может быть любое, затем можно отредактировать)
  2. Введите логин бота (должен быть уникальным и заканчиваться на _bot)

Диалог создания бота

Установка библиотеки

Установите и настройте необходимую библиотеку Python для работы с телеграм, например aiogram или python-telegram-bot.

Установка aiogram

Запустите командный интерпретатор (в Windows — cmd.exe)

Еще по теме:  Как понять что тебя забанили в дайвинчике в Телеграмме

pip install aiogram

Как установить библиотеку Python Telegram Bot в Windows, Linux и MacOS:

  1. Windows:
    • Откройте командную строку или PowerShell.
    • Установите библиотеку с помощью команды: pip install python-telegram-bot
    • Подождите, пока процесс установки завершится.
    • Linux:
      • Откройте терминал.
      • Установите библиотеку с помощью команды: pip install python-telegram-bot .
      • Подождите, пока процесс установки завершится.
      • MacOS:
        • Откройте терминал.
        • Установите библиотеку с помощью команды: pip install python-telegram-bot
        • Подождите, пока процесс установки завершится.

        После завершения установки библиотеки Python Telegram Bot вы можете использовать ее в своих проектах для создания телеграм-ботов.

        Как установить библиотеку telethon

        Windows:

        1. Откройте командную строку или PowerShell.
        2. Введите команду: pip install telethon .
        3. Нажмите клавишу Enter и дождитесь завершения установки.

        Linux:

        1. Откройте терминал.
        2. Введите команду: pip install telethon .
        3. Нажмите клавишу Enter и дождитесь завершения установки.

        MacOS:

        1. Откройте терминал.
        2. Введите команду: pip install telethon .
        3. Нажмите клавишу Enter и дождитесь завершения установки.

        После завершения установки вы сможете использовать библиотеку Telethon в своих проектах для взаимодействия с API Telegram.

        Обратите внимание, что для успешной установки библиотеки Telethon вам может потребоваться наличие Python и pip на вашей системе. Если они не установлены, вам следует установить их перед установкой библиотеки Telethon.

        Реализация простого бота в aiogram

        1. Импортируйте необходимые модули и классы из выбранной библиотеки.
        2. Создайте экземпляр класса бота и передайте ему токен вашего бота:

        import aiogram # Импортируйте модуль из выбранной библиотеки bot = aiogram.Bot(token=’YOUR_BOT_TOKEN’) # Создайте экземпляр класса бота и передайте токен вашего бота
        dispatcher = aiogram.Dispatcher(bot) # Создайте экземпляр класса Dispatcher и передайте экземпляр класса бота
        async def main(): await dispatcher.start_polling() # Запустить бота для получения входящих сообщений и событий if __name__ == ‘__main__’: aiogram.executor.start_polling(dp, skip_updates=True) # Запустить основной цикл выполнения бота

        Пример простейшего бота на aiogram

        После этого вы можете запустить бота, и он будет приветствовать пользователей и создавать кнопку, которая ссылается на указанный сайт.

        Обратите внимание, что для работы этого кода необходима версия Python 3.7 или выше

        Эхо-бот

        Бот отвечает тем же сообщением, что и было отправлено. Кроме случая, когда отправлены слова cat, cats, puss. В этом случае, будет отправлена картинка, сохраненная в файле datacats.jpg

        Источник: victor-komlev.ru

        Рейтинг
        ( Пока оценок нет )
        Загрузка ...