|
import json |
|
import logging |
|
from django.views import View |
|
from django.http import JsonResponse |
|
from telegram import Update |
|
|
|
from dtb.celery import app |
|
from dtb.settings import DEBUG |
|
from tgbot.dispatcher import dispatcher |
|
from tgbot.main import bot |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
@app.task(ignore_result=True) |
|
def process_telegram_event(update_json): |
|
update = Update.de_json(update_json, bot) |
|
dispatcher.process_update(update) |
|
|
|
|
|
def index(request): |
|
return JsonResponse({"error": "sup hacker"}) |
|
|
|
|
|
class TelegramBotWebhookView(View): |
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
if DEBUG: |
|
process_telegram_event(json.loads(request.body)) |
|
else: |
|
|
|
|
|
|
|
process_telegram_event.delay(json.loads(request.body)) |
|
|
|
|
|
return JsonResponse({"ok": "POST request processed"}) |
|
|
|
def get(self, request, *args, **kwargs): |
|
return JsonResponse({"ok": "Get request received! But nothing done"}) |
|
|