Отправляем уведомления в Django через Telegram API.

Вступление

Был у меня значит один проект на Django, и имел этот проект формочку простую. И собирала это формочка лидов. И все было круто-счпстливо. И собирались лиды на e-mail ящике…

Как бы все ничего, но смущало то,  что время реагирования на  заявки лидов было непозволительно большим. Ну как бы почту не получается, целый день мониторить. Наверное не открою Америку если скажу, что если не дать обратную связь лиду (контакту, клиенту) в первые 5 минут с момента заявки до вероятность успешной сделки по истечении этих первых  5 минут увеличивается в геометрической прогрессии.

Если не дать обратную связь лиду (контакту, клиенту) в первые 5 минут с момента заявки до вероятность успешной сделки по истечении этих первых  5 минут увеличивается в геометрической прогрессии.

Реализация

Немного погуглив, решил использовать наверное самую популярную библиотеку для работы с Telegram Api —  telepot.

Для начала надо установить пакет:

pip install telepot

В папке приложения в котором будете использовать отпраку уведомлений я создал файл telegramm.py.  Файл имеет следующее содержимое:

import telepot

token = '389460165:AAEimDJ0HY3tJk9sd9HX1iHvjjUIG0hhAtM'
my_id = 177914540
telegramBot = telepot.Bot(token)

def send_message(text):
telegramBot.sendMessage(177914540, text, parse_mode="Markdown")

Ну и дальше вызываем нашу написанную функцию в нужном месте. Я вызвал функцию при валидации формы, в методе form_valid()

class LeadCreationView(CreateView):
    form_class = LeadForm
    success_url = reverse_lazy('callback')

def form_valid(self, form):
    name = form.cleaned_data['name']
    phone = form.cleaned_data['phone']
    message = "*ЗАЯВКА С САЙТА*:" + "\n" + "*ИМЯ*: " +str(name) + "\n" + "*ТЕЛЕФОН*: " + str(phone)
    send_message(message)
    return super(LeadCreationView, self).form_valid(form)

def form_invalid(self, form):
    return redirect(self.get_success_url())

Итог

В результате столь простых манипуляций,  я решил для себя столь важный вопрос. Делов на 5 минут. Эффект ощутимый. В который раз говорю спасибо любимому языку Python,  за столь простой язык. Ну и open sources сообщество за прекрасную библиотеку telepot.

Пока все устраивает. В дальнейшем обязательно задумаюсь над созданием Телграмм-Бота который будет взаимодействовать с каким нибудь бэкендом, неважно будь то 1С, Django или что либо еще.

Вам также может понравиться

2 комментария

  1. Живой пример как не стоит писать гайды, я вообще поражаюсь глупому копипасту из не понятно от куда причем кусками, не указаны банальные импорты и вызовы, все должны догадываться сами, идиотизм.

Добавить комментарий

Ваш e-mail не будет опубликован.

Яндекс.Метрика