Подготовили материал, который поможет любому создать собственного чат-бота себе в помощь. Передаём слово специалисту HR: он расскажет как все сделать даже без большого опыта в IT.

Меня зовут Андрей Пеплов, уже 7 лет я HRD в IT-компании и я хочу об этом поговорить.
Сиди себе, перекладывай бумажки и договаривайся с ресторанами на корпоративы — так видят мою работу сотрудники компании. Забывая при этом, что они постоянно и ежедневно:
несут мне свои заявления на отгулы;
постоянно дёргают по соцпакету — а у нас довольно сложная система под названием «каталог льгот»;
постоянно заказывают справки о зарплате.
А ещё на мне онбординг, журналы инструктажей по безопасности труда и пожарной безопасности, график отпусков и его отслеживание, первичная обработка больничных, табели учёта рабочего времени… В общем, у HR в айтишке забот полон рот, да ещё в карманы понапихано всякого.
Подумал я о своей жизни и решил, что пришла пора автоматизировать хотя бы часть работы — например, выдавать по запросу остатки отработанного ранее времени, в счёт которого можно взять отгул, остаток на счёте в каталоге льгот. На справки о зарплате решил пока не замахиваться — с передачей персональных данных могут выйти разные неприятные моменты.
Сказано — сделано. Я когда-то давным-давно учился на айтишника, но разработкой программного кода не занимался, была другая работа. Так что привлекаю искусственный интеллект.
Пошаговая инструкция для создания бота в Telegram
У меня есть аккаунт Perplexity PRO — обошёлся недорого, а пользы от него немало.
Пишу промпт

Получаю ответ — очень короткий, но, вроде, по делу. Приведу начало.

Если кратко — то надо установить:
Python.
Библиотеки для Telegram, Google Sheets и какую-нибудь модель для распознавания естественной речи — на этой связке и будет работать бот.
Шаг 1. Создаю сервисный аккаунт в Google Cloud Console
Иду в эту неведомую гугловую консоль, делаю новый проект и долго ищу сервисные аккаунты. Создаю аккаунт, создаю ключ в json, файлик сохраняется на компе.

Шаг 2. Делаю таблицу и даю доступ сервисному аккаунту
Для тестирования сделал новую таблицу, в которой у меня должны храниться остатки отработанных ранее часов, вбил туда от балды данные в два столбца: табельный номер и остаток времени в часах. Почему табельный? Чтобы не связываться с персональными данными даже в теории. И дал доступ, как написала Perplexity, сервисному аккаунту.

Шаг 3. Создаю бота в Телеграм
Следую инструкции нейросети — там даже ссылочки рабочие, можно смело нажимать. Даю боту имя и идентификатор, получаю ключ API. Сохраняю ключ в текстовый файлик на всякий случай.

Шаг 4. Начинаю разбираться с Python
Иду на сайт и скачиваю последнюю версию. Устанавливаю. Но для того, чтобы делать всё остальное, одного Пайтона (да-да, разработчики настаивают на таком произношении) мало. Нужна Linux-среда. Кто уже работает на этой операционке, тем хорошо. А у меня Windows 11, значит, нужно установить WSL.
Не буду описывать это всё в подробностях — если что-то непонятно, всегда можно спросить любимую нейросеть, я так и делал на последующих этапах.
Итак, после установки WSL у меня появилась консоль. Всё, что в инструкции нейросети предваряется тегом #bash, нужно выполнять в этой консоли.
Подсказка: если копируете что-то в консоль, нажимайте для вставки Shift+Insert, а не Ctrl+V. Ну а копировать из консоли — Ctrl+Insert.
В общем, ставлю пакеты, которые перечислила нейросеть. С NLP-моделью для русского языка при установке возникает проблема, поэтому я прошу нейронку подыскать другую модель и переписать код бота.

Я специально не вставляю весь код в тексте — ибо вам любимая нейросеть может дать какой-то другой набор компонентов, необходимых для бота.
Шаг 5. Создаю программу
Создаю пустой файл, вставляю туда текст, удаляю кривые символы и вставляю реальные значения вместо ВАШ_TELEGRAM_ТОКЕН и ID_ВАШЕЙ_ТАБЛИЦЫ. Кстати, вот где взять ID гугловской таблицы. Сохраняю файл под именем bot.py.

Начинаю отладку. Естественно, сразу ничего не заработало. Основной принцип:
скопировать из консоли сообщение об ошибке;
скормить его нейросети и задать вопрос «Как исправить ошибку».
В результате perplexity переписала мне текст программы чуть более чем полностью, но, в итоге, программа заработала.

Кстати, если вы, как и я, кладёте свои файлы не в каталог Пайтона, а в отдельную папку с проектом, указывайте пути как при запуске, так и в самой программе. И помните, что в Linux в путях используется прямой слэш «/», а не обратный, как в Windows. Но если размещать скрипт бота на хостинге, то с путями придётся разбираться вновь — чем-то я чувствую.

Последняя ошибка, которую я отловил — в Google Cloud надо было включить Google Sheets API.

Наконец-то, после потраченных 4–5 часов чистого времени, я вижу в боте ожидаемую реакцию.

Я победил бота!
Выводы из пройденного материала.
Первое: бота в Телеграм можно создать, не зная никаких Пайтонов и библиотек, с помощью одной только нейросети и запросов.
Второе: в случае затруднений поможет та же самая нейросеть.
Третье: если заморочиться, можно сделать и гораздо более продвинутые штуки, где ИИ будет не только расшифровывать речь пользователя, но и отрабатывать сам запрос. В своей задаче я такого не предусматривал.
Четвёртое: если в продукте есть ИИ, то это заранее хорошо.
Радует, что из забавы нейросети превращаются в реальных помощников для обычных людей:
не программистов;
не промпт-инженеров;
не продвинутых айтишников.
Следующая мысль — прикрутить бота к базе знаний компании, чтобы он выдавал общедоступную информацию в тот же телеграм безо всяких заходов на сайт. Буду думать.