to_inventory/back/tgbot/views.py

33 lines
838 B
Python

import json
from telegram import Update
from asgiref.sync import async_to_sync
from rest_framework import viewsets
from rest_framework.response import Response
from .apps import TgBotClass
from .models import Item
from .serializers import ItemSerializer
import logging
logger = logging.getLogger("root")
class ItemViewSet(viewsets.ViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
@async_to_sync
async def create(self, request):
req = json.loads(request.body)
update_item = Update.de_json(data=req, bot=TgBotClass.app.bot)
TgBotClass.my_queue.put(update_item)
logger.info(
f"Update from {update_item.message.chat.id} pass to que and its size is {TgBotClass.my_queue.qsize()}"
)
return Response({"result": "pass data to tgbot"})