33 lines
838 B
Python
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"})
|