Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Всем добрый день, в сегодняшней рубрике я хочу затронуть достаточно интересную тему с точки зрения программирования, которая будет интересна даже обычным пользователям. Это – Telegram боты. Я создаю их уже около трёх лет, и сегодня я бы хотел вам рассказать, насколько это может быть полезно, а если данный материал станет вам интересным, то в будущем я мог бы углубиться в эту тему.
Начнём, пожалуй, с основ и терминологии. Telegram бот – это набор кода, который во время активации выполняет роль пользователя и его функционал зависит только от способностей и потребностей его создателя. Telegram ботом может воспользоваться каждый. Главное знать его название для поисковика.
На сегодняшний день Telegram ботов насчитывается бесчисленное количество. Создать своего не является проблемой. Разработка может быть, как через специальные сервисы, которые по заданным параметрам создадут вам необходимое технологическое решение для работы, так и с помощью самописного кода, но правда для этого вам нужно знать основы языков программирования таких как Python, Java или C++.
Хочу остановиться поподробнее на втором варианте, потому что для меня создавать своё всегда интереснее. При желании в интернете есть огромное количество материалов, которые помогут вам сделать его более работоспособным, а в этой статье я лишь покажу основы.
Итак, от долгой лирики к делу! Для того чтобы создать своего бота вам необходим аккаунт в Telegram. Далее, в поисковой строке вам нужно найти главного бота @BotFather. Это ваш личный менеджер и главный генерал ваших ботов. В его функционал входят регистрация ботов, их удаление, создание аватарки и название бота. Напишите этому боту команду /start, после этого вы активируете Бота “Отца”.
Следующим важным этапом в создание своего бота является выбор языка программирования.
В моем случае это будет Python. Именно на нём я буду демонстрировать вам как можно легко и просто творить будущее. Для написания кода я буду использовать инструмент разработчика PyCharm.
Создаём внутри инструмента проект. В файле с расширением “.py” мы будем писать код.
Теперь данная статья переходит к демонстрации кода и моим комментариям по делу. Давайте так же определим функционал бота. Допустим этот бот будет уметь отвечать на простые фразы (Привет, запись, пока) и причём если вы напишите слово “запись” он вас подразнит и напишет в ответ “запись”.
Шаг 1. Библиотеки
import telebot
# Библиотека нужна для того, чтобы использовать возможности и функции Telegram бота.
Шаг 2. Ключ
bot = telebot.TeleBot ('ваш уникальный ключ от Бота Отца')
#В переменную bot мы вносим ключ, который выдал нам @Botfather. Это необходимо для регистрации его в сети, а также, чтобы любой пользователь мог им воспользоваться.
Шаг 3. Первая функция
@bot.message_handler(commands=['start'])
def start_message(message):
# Функции позволяют структурировать работу вашего кода и делить возможности на блоки.
Шаг 4. Ответ пользователю
bot.send_message(message.chat.id, 'Привет') # вместо привет вы можете написать любое слово или даже предложение.
! Важно Telegram может отправлять до 4000 символов в одном сообщении. Если ваш текст будет превышать лимит, то в PyCharm вам выдаст ошибку.
Если в будущем вам нужно будет отправить большой текст, то его можно, как вариант, разбить на несколько составляющих: bot.send_message(message.chat.id, 'ТЕКСТ').
Шаг 5. Диалог
@bot.message_handler(content_types=['text']) #Обозначим что сейчас будем писать боту
def send_text(message): #Функция принятия текста от пользователя.
if message.text.lower() == 'привет': # Если ваш текст “привет”
bot.send_message(message.chat.id, 'Привет, друг') # бот пришлёт вам “Привет друг”
elif message.text.lower() == 'запись': # Если ваш текст “ запись ”
bot.send_message(message.chat.id, message.text) #message text скопирует ваше сообщение и перенаправит его вам.
elif message.text.lower() == 'пока': # Если ваш текст “ Пока”
bot.send_message(message.chat.id, 'Будь счастлив, друг!') # бот пришлёт вам “'Будь счастлив, друг!”
else: # Применяется если введенный вариант не соответствует словам: привет, запись, пока.
bot.send_message(message.chat.id, 'Я тупенький я не понимаю тебя!')
Шаг 6. Завершение
bot.polling() #данная часть кода обязательно должна стоять в конце вашего кода по Telegram боту. Формально это как точка в конце предложения, которая четко заявляет: функционал бота закончился.
Теперь после того, как весь код внесен в проект, давайте его запустим. После активации если вы всё сделали правильно, то при написании команды /start вашему боту (не забудьте найти его в списке ботов), он напишет вам “Привет” (строка, которая за это отвечает:) далее попробуйте написать разные команды и слова. Есть вероятность, что ваш бот может перестать работать и для его возобновления в PyCharm, его нужно перезапустить. Тут работает правило: чем проще ваш бот, тем быстрее он сломается.
Вывод.
Это была лишь вводная статья в изучении ботов. Если вам понравится данный материал прошу распространить его среди ваших друзей и близких, он может оказаться им интересен. Если именно вас заинтересует продолжение создание бота в telegram, пишите комментарии, я с удовольствием напишу продолжение. Надеюсь, что этот материал узнает как можно больше людей.