from django.conf import settings import json from telegram import Update from rest_framework import mixins, viewsets from rest_framework.response import Response from rest_framework.decorators import action from .tgbot import TgBot from .apps import TgBotUpdater from .models import TgItem, TmcElement, TmcField from .serializers import TgItemSerializer import logging logger = logging.getLogger("root") class TgItemViewSet(viewsets.ModelViewSet): queryset = TgItem.objects.all() serializer_class = TgItemSerializer http_method_names = ["post", "get"] @action(detail=False, methods=["post"], url_path=settings.TGBOT["WEBHOOK_URL"]) def send_tg_data(self, request): TgBotUpdater.my_queue.put( Update.de_json(data=json.loads(request.body), bot=TgBot.app.bot) ) return Response({"result": "ok"}) # return super().create(request, *args, **kwargs)