set webhook
This commit is contained in:
parent
2f725bbfc7
commit
b32f930cbd
|
@ -190,5 +190,5 @@ ODATA_AUTH = os.environ.get("ODATA_AUTH")
|
||||||
TGBOT = {
|
TGBOT = {
|
||||||
"TOKEN": os.environ.get("TG_TOKEN"),
|
"TOKEN": os.environ.get("TG_TOKEN"),
|
||||||
"BASE_URL": NGROK_TEMP,
|
"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/inventory', views.InventoryItemViewSet)
|
||||||
router.register(r'api/tmc/fields', tmc_views.BaseCustomFieldViewSet)
|
router.register(r'api/tmc/fields', tmc_views.BaseCustomFieldViewSet)
|
||||||
router.register(r'api/tmc/items', tmc_views.CustomTableViewSet)
|
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 = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
|
|
@ -26,6 +26,7 @@ from telegram.ext import (
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.urls import reverse
|
||||||
|
|
||||||
from .apps import TgBotUpdater
|
from .apps import TgBotUpdater
|
||||||
from .models import TgItem, TmcElement, TmcField
|
from .models import TgItem, TmcElement, TmcField
|
||||||
|
@ -55,7 +56,7 @@ class TgBot:
|
||||||
|
|
||||||
async def set_webhook(self):
|
async def set_webhook(self):
|
||||||
await TgBot.app.bot.setWebhook(
|
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):
|
async def start_app(self):
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
from django.conf import settings
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from telegram import Update
|
from telegram import Update
|
||||||
|
|
||||||
from rest_framework import mixins, viewsets
|
from rest_framework import mixins, viewsets
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
from rest_framework.decorators import action
|
||||||
|
|
||||||
from .tgbot import TgBot
|
from .tgbot import TgBot
|
||||||
from .apps import TgBotUpdater
|
from .apps import TgBotUpdater
|
||||||
|
@ -20,18 +22,8 @@ class TgItemViewSet(viewsets.ModelViewSet):
|
||||||
serializer_class = TgItemSerializer
|
serializer_class = TgItemSerializer
|
||||||
http_method_names = ["post", "get"]
|
http_method_names = ["post", "get"]
|
||||||
|
|
||||||
def list(self, request, *args, **kwargs):
|
@action(detail=False, methods=["post"], url_path=settings.TGBOT["WEBHOOK_URL"])
|
||||||
queryset = TgItem.objects.all()
|
def send_tg_data(self, request):
|
||||||
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):
|
|
||||||
TgBotUpdater.my_queue.put(
|
TgBotUpdater.my_queue.put(
|
||||||
Update.de_json(data=json.loads(request.body), bot=TgBot.app.bot)
|
Update.de_json(data=json.loads(request.body), bot=TgBot.app.bot)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue