mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-08 15:48:27 -05:00
fixed broken messages queing up
This commit is contained in:
@@ -35,27 +35,30 @@ def remove_bot(request, pk):
|
|||||||
|
|
||||||
@csrf_exempt
|
@csrf_exempt
|
||||||
def hook(request, token):
|
def hook(request, token):
|
||||||
tb = get_object_or_404(TelegramBot, webhook_token=token)
|
try:
|
||||||
|
tb = get_object_or_404(TelegramBot, webhook_token=token)
|
||||||
|
|
||||||
data = json.loads(request.body.decode())
|
data = json.loads(request.body.decode())
|
||||||
|
|
||||||
if tb.chat_id == '':
|
if tb.chat_id == '':
|
||||||
tb.chat_id = data['message']['chat']['id']
|
tb.chat_id = data['message']['chat']['id']
|
||||||
tb.save()
|
tb.save()
|
||||||
|
|
||||||
if tb.chat_id == str(data['message']['chat']['id']):
|
if tb.chat_id == str(data['message']['chat']['id']):
|
||||||
sl = ShoppingList.objects.filter(Q(created_by=tb.created_by)).filter(finished=False, space=tb.space).order_by('-created_at').first()
|
sl = ShoppingList.objects.filter(Q(created_by=tb.created_by)).filter(finished=False, space=tb.space).order_by('-created_at').first()
|
||||||
if not sl:
|
if not sl:
|
||||||
sl = ShoppingList.objects.create(created_by=tb.created_by, space=tb.space)
|
sl = ShoppingList.objects.create(created_by=tb.created_by, space=tb.space)
|
||||||
|
|
||||||
amount, unit, ingredient, note = parse(data['message']['text'])
|
amount, unit, ingredient, note = parse(data['message']['text'])
|
||||||
f, created = Food.objects.get_or_create(name=ingredient, space=tb.space)
|
f, created = Food.objects.get_or_create(name=ingredient, space=tb.space)
|
||||||
u, created = Unit.objects.get_or_create(name=unit, space=tb.space)
|
u, created = Unit.objects.get_or_create(name=unit, space=tb.space)
|
||||||
sl.entries.add(
|
sl.entries.add(
|
||||||
ShoppingListEntry.objects.create(
|
ShoppingListEntry.objects.create(
|
||||||
food=f, unit=u, amount=amount
|
food=f, unit=u, amount=amount
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
return JsonResponse({'data': data['message']['text']})
|
||||||
return JsonResponse({'data': data['message']['text']})
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
return JsonResponse({})
|
return JsonResponse({})
|
||||||
|
|||||||
Reference in New Issue
Block a user