Передача записей базы данных django в сообщения в рамках апи мессенджера line (linebot)

я бы хотел, чтобы linebot отправлял все классы, хранящиеся в базе данных, в определенный день, в зависимости от ввода пользователя, через line messenger.

e.g пользователь набирает "hello" linebot отвечает "hello" пользователь набирает "monday" linebot отправляет расписание занятий на понедельник пользователь набирает "studentlist(tutorname)" linebot отправляет всех студентов в списке этого репетитора

пока что я могу получать эхо, линейный бот хранит данные пользователя в базе данных модели также корректно.

бот может различать тип сообщения. (т.е. "текст", "изображение" и т.д.)

все, что я делаю, останавливает отправку основных сообщений.

Как лучше всего написать циклы, необходимые для получения желаемого ответа?

Я надеялся использовать информацию таким образом и передать ее каким-то образом в сообщение

data = Lessons.objects.all().filter(headed_by__name="Имя воспитателя").filter(day__icontains="Monday")

>

ниже не работает, и останавливает работу остальных функций elif.

elif event.message.type=="text" | event.message.text=="Monday" :
    message.append(TextSendMessage(text='Monday? Coming 
    right up'))
    line_bot_api.reply_message(event.reply_token,message)

и вот код, который я использую для получения сообщений в настоящее время

@csrf_exempt
def callback(request):
if request.method == "POST":
    message=[]
    
signature=request.META['HTTP_X_LINE_SIGNATURE']
    body=request.body.decode('utf-8')

    
 message.append(TextSendMessage(text=str(body)))
    try:
        events = parser.parse(body,signature)
    except InvalidSignatureError:
        return HttpResponseForbidden()
    except LineBotApiError:
        return HttpResponseBadRequest()
    
    for event in events:
        if isinstance(event, MessageEvent):
           
        print(event.message)
            
            if event.message.type=="text":
                
                message.append(TextSendMessage
                (text='Hello,\nhow 
                 can I help you today?'))                    
                line_bot_api.reply_message(
                event.reply_token,message)

            elif event.message.type=="image":
        
                message.append(TextSendMessage(text='image 
                message'))
                line_bot_api.reply_message(event.reply_token, 
                message)

            elif event.message.type=="location":
                message.append(TextSendMessage(text='location 
                message'))
                line_bot_api.reply_message(event.reply_token,
                message)
    
            elif event.message.type=="video":
                
                message.append(TextSendMessage(text='video 
                message'))
                line_bot_api.reply_message(event.reply_token,
                message)

            elif event.message.type=="sticker":
                
                message.append(TextSendMessage(text='sticker 
                message'))
                line_bot_api.reply_message(event.reply_token,
                message)

            elif event.message.type=="audio":
                
                message.append(TextSendMessage(text='audio 
                message'))
                
                line_bot_api.reply_message(event.reply_token,
                message)

            elif event.message.type=="file":
                
                message.append(TextSendMessage(text='file 
                message'))
                
                line_bot_api.reply_message(event.reply_token,
                message)


    return HttpResponse()
else:
    return HttpResponseBadRequest

my lessons model.py

class Lessons(models.Model):
    student             = models.ForeignKey(Students, 
    on_delete=models.SET_NULL, null=True)  
    headed_by           = models.ForeignKey(Tutors, 
    on_delete=models.SET_NULL, null=True)
    day                 = models.CharField(max_length=4, 
    choices=DAY_CHOICES, null=True)
    start_time          = models.TimeField(null=True, blank=True)
    type                = models.CharField(max_length=7, 
    choices=TYPE_CHOICES, null=True)
    price_band          = models.CharField(max_length=7, 
    choices=PAYMENT_TYPE_CHOICES, blank=True, null=True)
    created             = models.DateTimeField(auto_now_add=True )
Вернуться на верх