fixed broken messages queing up

This commit is contained in:
vabene1111
2021-03-18 23:20:31 +01:00
parent 1425e795ff
commit 69a51e0640

View File

@@ -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({})