Python django whatsapp бот, позволяющий другим регистрироваться на БД без использования html

Создание проекта Django

django-admin startproject messages .
django-admin startapp whatsapp
python manage.py migrate
python manage.py runserver

Откройте файл settings.py из каталога messages

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'whatsapp.apps.WhatsappConfig',   # ← new item
]

Откройте файл views.py из подкаталога whatsapp.

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt


@csrf_exempt
def message(self):
    return HttpResponse('Hello!')

Чтобы сделать эту конечную точку доступной через веб-приложение, необходимо присвоить ей URL. Откройте файл urls.py из директории messages и добавьте новую запись в список urlpatterns, как показано ниже:

from django.contrib import admin
from django.urls import path
from whatsapp import views    # ← new import

urlpatterns = [
    path('admin/', admin.site.urls),
    path('message', views.message),    # ← new item
]

Получение сообщений WhatsApp

Следующим шагом будет обновление логики внутри конечной точки message() для извлечения информации о входящем сообщении. Замените содержимое файла views.py в подкаталоге whatsapp следующим:

from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def message(request):
    user = request.POST.get('From')
    message = request.POST.get('Body')
    print(f'{user} says {message}')

    return HttpResponse('Hello!')

Отправка ответа В последний раз обновите файл views.py в поддиректории whatsapp следующим кодом:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from twilio.twiml.messaging_response import MessagingResponse


@csrf_exempt
def message(request):
    user = request.POST.get('From')
    message = request.POST.get('Body')
    print(f'{user} says {message}')

    response = MessagingResponse()
    response.message('Thank for your message! Do you want to signup'
    return HttpResponse(str(response))

пока что это мой код на проекте и я хочу, чтобы он принимал имя пользователя и пароль формы основной только используя whatsapp

Вернуться на верх