Skip to content

TheCMEX/TelegramBot

Repository files navigation

Telegram бот-консультант для быстрого получения информации об образовательных программах школы GoTo Выполнил ученик 11 класса НОУ “Общеобразовательная гимназия “Альбертина“ г.Калининграда.

Все молодое поколение работает, учится и просто общается в интернете, а чтобы не отставать от молодежи, быть на одной волне - подключается и более старшее поколение. Следовательно, поток запросов возрастает, а с ним и время ожидание ответов. Но время - самая главная ценность человека в 21 веке, поэтому я не мог обойти стороной проблему траты чрезмерного количества времени на получение информации пользователем и создал бота, который может отвечать на запросы пользователей, ускорив, тем самым, интервал ожиданий ответов. Бот создан заменить целый отдел, которыму приходидётся отвечать на запросы интересующихся. Теперь не придётся быть постоянно “на связи” для оперативных ответов по весьма шаблонным вопросам. Для большей простоты использования бот в начале своего использования (команды /start, /help) отправляет FAQ, Привет! Для работы с этим ботом мы предусмотрели два варианта консультации:

   /consultation - Полная подробная консультация по всем образовательным программам GoTo (Рекомендуется) 

   Второй заключается в ответах на вопросы, заданные непосредственно пользователем при выборе одной из команд ниже: 

  /infgoto - Базовая информация о GoTo 
  /infprogramms - Информация обо всех образовательных программах 

  /gotocampgrant - Получение гранта на полное или частичное покрытие стоимости обучения в GoToCamp 

  Для повторного вызова этого меню используй команду /help 
  Для выбора другой команды введи "/" и выбери команду из появившегося списка 

  Удачного пользования, не забудь оставить отзыв через команду /service ^-^

позволяющий выполнить быстрый переход к одной из интересующих пользователя тем. Данный метод создан для людей, уже имеющих начальное представление об образовательных программах GoTo. Для тех, кто впервые имеет дело с вышеупомянутой информацией, реализована полня консультация, дающая подробные знания обо всем, что может дать потенциальному потребителю школа GoTo (/consult). Сначала бот узнаёт имя пользователя,

  Привет! Меня зовут GoToCampBot. Я консультант по серии образовательных программ в области IT, робототехники и анализа данных
  GoTo. Как мне к тебе обращаться? Просто введи своё имя без точек и каких-либо посторонних символов.

  #  Пользователь вводит своё имя, например, Юра

  Очень приятно познакомиться, Юра. Хочешь ли ты сначала узнать, что такое школа GoTo, или сразу проконсультировать тебя по 
  поводу образовательных программ? Для ответа на этот вопрос выбери один из вариантов ответа ниже.

после чего даёт выбор о том, по какой образовательной программе человек хочет получить информацию. Сама консультация выполнена в формате кастомных клавиатур от Telegram. Выбор пал именно на эту возможность API Телеграма, так как пользователю не приходится самому составлять вопросы, что часто отпугивает как потенциального потребителя, так и создаёт сложности для бота, постоянно просящего ввести вопрос по-другому, что также негативно сказывается на настроении человека. В моей же системе пользователь идет по заданному шаблону, который можно изменить/дополнить в кратчайшие сроки, где необходимо начинающий частично входить в inline-режим, перекидывающий пользователя моментально на сайт компании, либо же сразу в форму для заполнения данных к регистрации в участии в одной из программ. Также предусмотрена и возможность обратной связи путём отправки оценки, пожеланий и тд. пользователем, оценивающим релевантность ответа программы (/service).

    @bot.message_handler(commands=['service'])
    def service(message):
        end(message)


    def end(message):                # сама функция end
        if message.text == '/service':
      msg = bot.send_message(message.chat.id,
                 "На этом моя консультация заканчивается. Надеюсь, ты узнал обо всём, что "
                 "было тебе интересно.\n"
                 " Также хотелось бы попросить оценить мою работу. Опиши в двух словах качество"
                 " моих ответов и, по возможности, напиши, что можно во мне улучшить :)")
      bot.register_next_step_handler(msg, result)

    def result(message):
        if message.text:                          # Здесь я подразумеваю обратную связь, как пересылаемое ботом сообщение (отзыв)
                                                  # любому пользователю
      bot.send_message(313191289, message.text)   # В данный момент это я, но потом можно будет завести специальный аккаунт 								     # для этого,
                                                  # Где можно будет обрабатывать все отзывы.

Человек может написать всё, что хотел бы донести до организаторов школы прямо в мессенджере. Далее аналогичный текст сообщения будет отправлен указанному администратору, который уже может обрабатывать ответы, делая выводы. В данный момент сообщения приходят мне, но изменить получателя крайне просто. Кстати, получателей может быть несколько. В процессе работы была изучена библиотека pyTelegramBotAPI, на которой и был написан проект.

К сожалению, в процессе развёртывания бота на Heroku произошла ошибка ImportError, которая заключалась в невозможности импортировать модуль "logger", вследствие чего программа находится на серверах Heroku, но не работает 24/7. В интернете советовали переустановить telebot и pyTelegramBotAPI, но обновление данных ни к чему не привело, а только усугубило проблему. Очень обидно, что 2 недели ежедневной разработки бота оказались бесполезными на последней стадии, но сам код бота можно посмотреть по этой ссылке: https://github.com/TheCMEX/Last/blob/master/handler.py

Также самого бота можно найти в Telegram под никнеймом @GoToCampBot

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published