пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Введение
Ну вот наконец-то и начинается цикл статей по непосредственному написанию логики работы Telegram бота. Начнём погружение с достаточно тривиальной задачи ( примерно как “
Hello, World!
” на новом языке программирования), написание эхо бота.
Но для начала немного теории!
Немного теории
Эхо-бот представляет из себя простого бота, задача которого возвращать пользователю все отправленные им сообщения.
На этом с теорией всё, переходим к практике!
Установка библиотеки
Для написания нашего первого
серьёзного
проекта будем использовать, как уже догадались, библиотеку
aiogram
версией
2.25.1
(
Note:
здесь и в дальнейших статьях я буду все примеры кода запускать в
IDE PyCharm
и использовать версию
Python 3.9)
Профессионалы могут в своей любимой
IDE
в терминале ввести команду
pip install aiogram==2.25.1
А для тех, кто только учится, необходимо:
Нажать сочетание клавиш
Ctrl+Alt+S
Найти меню
Project: “ИмяПроекта”
и нажать на
Python Interpreter
Следуем подсказкам
1-2-3
И теперь можно приступать к работе!
Set up конфигурация бота
Давай напишем самое минимальное, что необходимо будет абсолютно в каждом проекте.
Импортируем необходимые файлы из библиотеки aiogram
Создаём переменную и присваиваем ей значение токена бота (
Токен это индивидуальный API ключ, который присваивается каждому боту и необходим для взаимодействия программы с ботом
)
Создаём объекты
бота
и
диспетчера.
Объекту
bot
передается в качестве аргумента токен бота, а объекту
dp
в качестве аргумента передается объект
bot.
Используем конструкцию
if __name__ == “__main__”:
для запуска текущего файла напрямую. Это так называемая
точка входа
работы бота. Для запуска постоянного опроса входящих данных со стороны пользователя, используем операцию выполнения:
executor.start_polling(
dispatcher
=
dp).
В качестве аргумента передаем нашего диспетчера.
Теперь подошли к самому интересному. Обработка
хэндлера сообщений
. По своей сути это очередь сообщений, которые бот получает от пользователя. Для их создания будем использовать декоратор. Если не знаешь, что это за страшное слово, то самое время пройти курс
Python с нуля
, где сможешь узнать это и многое другое! Хэндлер сообщений пишется следующим образом ->
@dp.message_handler().
За ним в обязательном порядке будет следовать асинхронная функция, в которой будет описан непосредственно функционал, который будет выполняться, после вызова
текущего хэндлера
.
async def echo_message(message: types.Message):
Функция должна принимать аргумент с аннотацией типов
types.Message
, чтобы мы могли взаимодействовать со входящей информацией от пользователя. Для ответа ботом на сообщения напишим конструкцию:
await message.answer(
text
=message.text)
Метод
answer
отвечает пользователю текстом, который был указан в аргументе
text
.
message.text
содержит в себе сообщение, отправленное пользователем боту.
В следующих статьях более глубоко изучаем аргумент
message
, какие возможности он представляет, и что хранит в себе.
В итоге должна получится следующая программа
Бежим проверять как она работает.
Запускаем скрипт, переходим в диалоговое окно с ботом.
Видим, что при отправке сообщения, в ответ нам приходит тоже самое. Это и есть
эхо бот
!
Заключение
Вот и положено начало пути разработки ботов. Дальше нас ждёт много увлекательной и интересной информации.
Исходники скрипта я загружу на свой
GitHub
, откуда без проблем можно будет скачать и проверить как работает бот, только не забудь добавить
свой API токен
.
Вакансии в сфере айти считаются престижными на рынке труда. Кандидатов привлекает возможность удаленной работы, высокие зарплаты и бесконечное поле для развития. Но что, если по образованию вы филолог, социолог или историк, и хотите попасть в информационную сферу? Означает ли, что без знания математики и умения кодить путь в айти навсегда закрыт? Предлагаем выяснить, можно ли попасть в техническую сферу, если математика в школе казалась сложной и непонятной, а из языков знаешь только английский.
Технари и гуманитарии. Противостояние. Часть первая
Так могла бы называться новая, еще не изданная книга, если бы мы собрали в нее все мифы про разделение людей на технарей и гуманитариев. На самом деле, определенных генов, отвечающих за склонность к тем или иным наукам, нет. Такое разделение представляет собой всего лишь упрощение, которое не отражает разнообразие интересов и способностей.
В реальности многие профессионалы успешно интегрируют гуманитарные и технические компетенции в своей работе. Например, в сфере информационных технологий часто требуется не только техническое понимание, но и умение эффективно общаться и работать в команде, что является гуманитарными навыками.
Так ли важна математика в айти?
Вопрос, о который рушатся надежды новых специалистов. Постараемся внести ясность. В современном мире существует множество профессий, в которых основные задачи не требуют глубоких математических знаний. К тому же многие работодатели в IT ценят не только технические навыки, но и способность к креативному мышлению, коммуникации и решению проблем. Такие компетенции в основном предоставляет гуманитарное образование.
В 2020 году ученые из университета Вашингтона провели исследование (Scientific Reports, 2020) и выяснили, что наиболее полезным навыком для программистов оказалась не математика, а способность к изучению языков. Испытуемые приняли участие в десяти 45-минутных сеансах обучения Python, а после каждого занятия проходили тест. Ученые отслеживали скорость обучения и результаты тестирования Оказалось, что лучше всего Python давался участникам с высокими способностями к языкам. Эти результаты обеспечивают новую основу для понимания способностей к программированию, предполагая, что важность математики может быть переоценена.
Soft skills не спасут мир, но горящий проект возможно
Все больше работодателей при найме сотрудников отмечают важность «мягких» навыков. Так, согласно опросу LinkedIn 92% респондентов из 35 стран приравняли важность soft skills к hard skills. Если HR-специалисту придется выбирать между кандидатами с одинаковым уровнем технических навыков, он будет обращать внимание на софты и предложит оффер тому, у кого они более развиты. Это кажется логичным, так как с прокачанными soft skills гораздо легче взаимодействовать с коллегами, руководством или клиентами. Long story short: учитесь понятной коммуникации.
Коммуникация, сотрудничество и креативность
Навыки, которые обычно приписывают гуманитариям, важны и для технических специалистов. Они необходимы для успешной работы в команде и взаимодействия с другими людьми. Для программиста важно иметь развитые навыки коммуникации, потому что способность эффективно общаться, слушать и сотрудничать с коллегами помогает достигать общих целей.
Многие IT-специалисты в конечном итоге сталкиваются с задачей управления проектами или командами. Лидерские навыки, такие как умение принимать решения, мотивировать коллег и эффективно организовывать работу, играют здесь важную роль.
Специальности, в которых не надо кодить
Другим камнем преткновения становится умение кодить. Не каждый умеет или тем более готов обучаться языку программирования. Хочется развеять еще один миф, в айти есть ряд специальностей, для которых это совсем не обязательно. Для примера на том же хэдхантере много вакансий в категории IT Project Manager / IT Sales and Marketing / Data Analyst и другие. Также для гуманитариев подойдет работа в качестве копирайтера, технического писателя, маркетолога или даже UI/UX-дизайнера. Давайте подробнее рассмотрим эти специальности. Ниже дали краткий обзор и ориентировочную вилку зарплат.
Менеджмент проектов в IT (IT Project Management)
Такие специалисты координируют выполнение проектов, работают с командами и заказчиками. Знание основных технических аспектов важно, но написание кода может не требоваться. Зарплата проджекта зависит от его опыта и региона, в котором работает специалист. В столице доходы варьируются от от 50 000 до 320 000 руб.
UX/UI-дизайн
UX (User Experience) и UI (User Interface) дизайнер - это специалист, который создает удобные, функциональные и понятные пользовательские интерфейсы для веб-сайтов, мобильных приложений и прочих цифровых продуктов. Средний ежемесячный заработок UX/UI-дизайнера составляет 106 000 руб. Вилка зарплат по стране - от 40 000 до 200 000 руб.
Аналитик данных (Data Analyst)
Аналитики данных работают с большими объемами данных, чтобы выявлять тенденции, создавать отчеты и предоставлять бизнес-аналитику. Хотя знание SQL и инструментов анализа данных может быть полезным, это не всегда включает в себя написание кода. Выводы и результаты аналитика помогают принимать бизнес-решения. Как и в любой технической профессии аналитиков делят на три грейда: джуниор, мидл и сеньор. Новичок получает от 70 000 до 170 000 рублей. Middle - от 120 000 до 250 000 рублей. Senior - от 180 000 до 330 000 рублей.
Продажи и маркетинг в IT (IT Sales and Marketing)
Специалисты этой сферы занимаются продвижением и продажей IT-продуктов и услуг. Здесь не требуется написание кода, но может быть полезным понимание технических аспектов продукта. Маркетолог тесно сотрудничает с командой разработчиков и помогает представить продукт или услугу понятными для рынка. На hh.ru можно найти вилку зарплат от 80 000 до 200 000 руб.
UX-писатель
Его основной задачей является создание понятного текстового контента для цифровых продуктов. Это могут быть инструкции, подсказки и другие элементы интерфейса, направленные на улучшение восприятия пользователя. Райтер много общается с разработчикам, дизайнерами, клиентами и другими специалистами. Ему не нужно писать код, а вот разобраться в технических деталях придется. Зарплата также сильно зависит от региона и начинается от 40 000 рублей. в Москве такие специалисты получают 45 000 - 130 000 рублей.
Подведем итоги
Миф о разделении на гуманитариев и технарей все еще существует и оказывает влияние на выбор профессии. Но это совсем не значит, что в техническую специальность нельзя попасть с гуманитарным образованием. На рынке труда ценятся специалисты обладающие как "твердыми", так и "мягкими" навыками. Кроме того, описанное выше исследование показывает, что для написания кода важен не матан, а способность к изучению языков. В целом хотелось бы отметить, что если вы обнаружили у себя интерес к технической специальности, то все в ваших руках, а онлайн-образование придет на помощь!
Что делать, если Вы или Ваши операторы не успевают принять звонок от клиента? Или вам просто кажется, что время в течение которого звонит телефон могло бы быть и побольше? Если Вы пользуетесь FreePBX 13, то в данной статье Вы непременно найдёте ответ на эти вопросы.
Поскольку во FreePBX существует бесчисленное множество модулей, в которых можно настроить время звонка, то первым делом необходимо выяснить – это тип соответствующего модуля.
На внутреннем номере
Если этот прямой вызов на внутренний номер абонента, то проверять необходимо модуль Extension. Для этого переходим по следующему пути: Applications -> Extension, заходим в настройки интересующего нас внутреннего номера и на вкладке Advanced ищем строку Ring Time.
Как видите в нашем случае (да и в Вашем скорее всего) там стоит значение Default, но Вы можете поставить любое значение от 1 до 120 в секундах. Обратите внимание, что любое другое значение, выставленное здесь кроме Default, распространяется только на этот конкретный внутренний номер. Default означает что система использует значение по умолчанию. Чтобы его посмотреть или изменить, отправляйтесь в Settings -> Advanced Settings и ищите раздел Dialplan and Operational там есть строчка Ringtime Default, в которой и настраивается это значение. В нашем случае – 15 секунд.
В очереди
Если на недостаточное, для принятия звонка, время жалуются операторы или агенты Вашего Call-центра, принимающие вызовы из очередей, то подправить настройки необходимо в модуле Queues. Для этого переходим по следующему пути: Applications -> Queues, находим очередь, участникам которой нужно продлить время звонка, переходим на вкладку Timing&Agent Options и находим параметр Agent Timeout, который по умолчанию равняется 15 секундам. Нужно сказать, что время, в течение которого будет звонить телефон для очередей можно настроить достаточно точно – максимум 2 минуты, но возможен вариант, когда оператору отведена ровно 1 минута и 59 секунд на ответ. Обратите внимание, что Ring Time внутреннего номера агента, настроенное в модуле Extension, превалирует над временем Agent Timeout. Это значит, что если у одного агента время, выставленное в Extension равняется 20 секундам, а время Agent Timeout для всей очереди равняется 25 секундам, то звонок перейдёт к следующему участнику очереди быстрее, на основании времени Extension для данного агента. .
В группе вызовов
Если на то что телефоны звонят слишком мало жалуются члены одной группы или департамента, например менеджеры по работе с клиентами, принимающие звонки по принципу “кто первый взял трубку”, то смотреть нужно в модуль Ring Groups. Для этого, переходим по следующему пути: Applications -> Ring Groups, находите нужную группу и ищите в её настройках параметр Ring Time.
Как видно, по умолчанию этот параметр равняется 20 секундам, но мы можем настроить любое время до 300 секунд. Обратите внимание, что тут также присутствует приоритет времени, настроенный для индивидуального внутреннего номера. Если у кого то из участников группы, параметр Ring Time будет меньше чем Ring Time для всей группы, то стратегия обзвона группы применится на этого участника быстрее.
