set webhook
This commit is contained in:
parent
2f725bbfc7
commit
b32f930cbd
|
@ -190,5 +190,5 @@ ODATA_AUTH = os.environ.get("ODATA_AUTH")
|
|||
TGBOT = {
|
||||
"TOKEN": os.environ.get("TG_TOKEN"),
|
||||
"BASE_URL": NGROK_TEMP,
|
||||
"WEBHOOK_URL": f"api/tgbot/webhook/{os.environ.get('TG_TOKEN')}",
|
||||
"WEBHOOK_URL": f"webhook/{os.environ.get('TG_TOKEN')}",
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ router.register(r'api/element', views.ElementViewSet)
|
|||
router.register(r'api/inventory', views.InventoryItemViewSet)
|
||||
router.register(r'api/tmc/fields', tmc_views.BaseCustomFieldViewSet)
|
||||
router.register(r'api/tmc/items', tmc_views.CustomTableViewSet)
|
||||
router.register(settings.TGBOT['WEBHOOK_URL'], tgbot_views.TgItemViewSet)
|
||||
router.register(r'api/tgbot', tgbot_views.TgItemViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
path('', include(router.urls)),
|
||||
|
|
|
@ -26,6 +26,7 @@ from telegram.ext import (
|
|||
from telegram.constants import ParseMode
|
||||
|
||||
from django.conf import settings
|
||||
from django.urls import reverse
|
||||
|
||||
from .apps import TgBotUpdater
|
||||
from .models import TgItem, TmcElement, TmcField
|
||||
|
@ -55,7 +56,7 @@ class TgBot:
|
|||
|
||||
async def set_webhook(self):
|
||||
await TgBot.app.bot.setWebhook(
|
||||
f"https://{self.baseurl}/{self.webhook}/", drop_pending_updates=True
|
||||
f"https://{self.baseurl}{reverse('tgitem-send-tg-data')}", drop_pending_updates=True
|
||||
)
|
||||
|
||||
async def start_app(self):
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
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
|
||||
|
@ -19,19 +21,9 @@ class TgItemViewSet(viewsets.ModelViewSet):
|
|||
queryset = TgItem.objects.all()
|
||||
serializer_class = TgItemSerializer
|
||||
http_method_names = ["post", "get"]
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
queryset = TgItem.objects.all()
|
||||
serializer = TgItemSerializer(queryset, many=True)
|
||||
|
||||
inv = TgItem.objects.get(id='73e9fc87-a006-4c53-b3ee-39da6c79dbb5')
|
||||
el = inv.tmc.get(id=58)
|
||||
f= el.field.filter(text__isnull=True)
|
||||
logger.info(f[0].field)
|
||||
# fields = TmcField.objects.filter
|
||||
return Response(serializer.data)
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
@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)
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue