PROG_WAY_BLOG Telegram 48
Запускаем своего первого телеграм бота на Python.

Я уже как-то затрагивал ботов обзорно вот в этом посте, сегодня хочу продолжить немного более конкретно. Итак, телеграм сейчас является самой лучшей площадкой для создания ботов. Ни один другой мессенджер или соцсеть не может похвастаться таким же успехом в этом деле. Объяснить это просто:

1. У телеграма прекрасный, удобный, хорошо задокументированный API.
2. Для него уже сейчас существует огромная кодовая база, десятки библиотек на самых разных языках программирования.

Для примера я взял Python, так как этот язык наиболее распространен среди аудитории моего канала, как мне кажется. Для Python есть две неплохие библиотеки - это pyTelegramBotApi и aiogram. Я написал уже где-то ботов 15 за всё время программирования и с уверенностью могу сказать, что на моей практике это лучшие библиотеки.

Aiogram прекрасен своей асинхронностью, а следовательно эффективностью в высоконагруженным проекте, а pyTelegramBotApi - это синхронный младший брат, который, конечно, менее эффективен, но которого более чем достаточно в большинстве задач. pyTelegramBotApi максимально прост, так что в этой библиотеке разберётся любой.

Для начала зарегистрируем нового бота у @botfather. Это не сложно, не будем на этом останавливаться.

Потом установим библиотеку:
pip install pyTelegramBotApi

Далее создадим файл bot.py и напишем вот такой код:
import telebot

bot = telebot.TeleBot(токен от @BotFather)

@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.send_message(message.chat.id, "привет")

bot.polling(none_stop=True)

Далее разберем основы:
Первое, что нужно обсудить - это объект message, который в себя принимает функция send_message. Message - обычный питоновский словарь, к которому мы можем обращаться по ключам. Принт этого объекта можно посмотреть тут.

Второе, конечно же, декоратор bot.message_handler(commands=['start']). Весь его функционал заключается в том, что функция, обёрнутая декоратором, будет выполнятся на определенную команду, например. То есть мы можем оформить декоратор bot.message_handler(commands=['help', 'помощь']) и описанная ниже функция сработает при командах /help и /помощь.

Это, конечно же, не единственный декоратор, который есть в библиотеке, но его одного достаточно для простейшего бота.

Насчёт bot.send_message.
Это метод, который, как очевидно, отправляет сообщение пользователю. В приведенном выше примере мы отправляем сообщение по идентификатору message.chat.id, то есть в ответ пользователю. У этого класса есть еще много методов, например для отправки фотографии, аудио, игр или других действий.

Теперь я напишу маленького бота, на примере которого, я надеюсь, вы поймёте тему лучше.

Посмотреть код можно тут.
Взаимодействовать с ботом: @progway_test_bot

И, как всегда, спасибо за прочтение ❤️

#python #chatbot



tgoop.com/prog_way_blog/48
Create:
Last Update:

Запускаем своего первого телеграм бота на Python.

Я уже как-то затрагивал ботов обзорно вот в этом посте, сегодня хочу продолжить немного более конкретно. Итак, телеграм сейчас является самой лучшей площадкой для создания ботов. Ни один другой мессенджер или соцсеть не может похвастаться таким же успехом в этом деле. Объяснить это просто:

1. У телеграма прекрасный, удобный, хорошо задокументированный API.
2. Для него уже сейчас существует огромная кодовая база, десятки библиотек на самых разных языках программирования.

Для примера я взял Python, так как этот язык наиболее распространен среди аудитории моего канала, как мне кажется. Для Python есть две неплохие библиотеки - это pyTelegramBotApi и aiogram. Я написал уже где-то ботов 15 за всё время программирования и с уверенностью могу сказать, что на моей практике это лучшие библиотеки.

Aiogram прекрасен своей асинхронностью, а следовательно эффективностью в высоконагруженным проекте, а pyTelegramBotApi - это синхронный младший брат, который, конечно, менее эффективен, но которого более чем достаточно в большинстве задач. pyTelegramBotApi максимально прост, так что в этой библиотеке разберётся любой.

Для начала зарегистрируем нового бота у @botfather. Это не сложно, не будем на этом останавливаться.

Потом установим библиотеку:
pip install pyTelegramBotApi

Далее создадим файл bot.py и напишем вот такой код:

import telebot

bot = telebot.TeleBot(токен от @BotFather)

@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.send_message(message.chat.id, "привет")

bot.polling(none_stop=True)

Далее разберем основы:
Первое, что нужно обсудить - это объект message, который в себя принимает функция send_message. Message - обычный питоновский словарь, к которому мы можем обращаться по ключам. Принт этого объекта можно посмотреть тут.

Второе, конечно же, декоратор bot.message_handler(commands=['start']). Весь его функционал заключается в том, что функция, обёрнутая декоратором, будет выполнятся на определенную команду, например. То есть мы можем оформить декоратор bot.message_handler(commands=['help', 'помощь']) и описанная ниже функция сработает при командах /help и /помощь.

Это, конечно же, не единственный декоратор, который есть в библиотеке, но его одного достаточно для простейшего бота.

Насчёт bot.send_message.
Это метод, который, как очевидно, отправляет сообщение пользователю. В приведенном выше примере мы отправляем сообщение по идентификатору message.chat.id, то есть в ответ пользователю. У этого класса есть еще много методов, например для отправки фотографии, аудио, игр или других действий.

Теперь я напишу маленького бота, на примере которого, я надеюсь, вы поймёте тему лучше.

Посмотреть код можно тут.
Взаимодействовать с ботом: @progway_test_bot

И, как всегда, спасибо за прочтение ❤️

#python #chatbot

BY progway — программирование, IT




Share with your friend now:
tgoop.com/prog_way_blog/48

View MORE
Open in Telegram


Telegram News

Date: |

When choosing the right name for your Telegram channel, use the language of your target audience. The name must sum up the essence of your channel in 1-3 words. If you’re planning to expand your Telegram audience, it makes sense to incorporate keywords into your name. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. The Standard Channel
from us


Telegram progway — программирование, IT
FROM American