Structuur
Een advanced code response wordt geschreven in Python, meerbepaald Python 3. Het is dus een Python-klasse die altijd overerft van een abstracte klasse Response. De bedoeling is dat de abstracte methode getResponse geïmplementeerd wordt door de ontwikkelaar. Standaard ziet zo een klasse er zo uit:
1
# -*- coding: utf-8 -*-
2
from responses.responsemessage import ResponseMessage
3
from responses.responsedata import ResponseData
4
from responses.responsetype import ResponseType
5
from responses.response import Response
6
from responses.quickreply import Quickreply
7
8
9
class Response(Response):
10
11
def getResponse(self, sentence, context, options={}):
12
# TODO: implement response
13
return ResponseMessage(
14
data=[
15
ResponseData(
16
message="Sorry dat heb ik (nog) niet begrepen.",
17
type=ResponseType.text
18
)
19
]
20
)
Copied!
We starten met enkele import statements:
  • ResponseMessage: het object dat teruggestuurd wordt naar de gebruiker
  • ResponseData: een element in de volledige ResponseMessage, bijvoorbeeld een tekstballon of een afbeelding
  • ResponseType: een enum die het type van een ResponseData-object uitdrukt
  • Response: de superklasse van de nieuwe klasse
  • Quickreply: een snel antwoord, dat als een knop aan de gebruiker getoond wordt
Verder definiëren we de klasse zelf:
class Response(Response):
Hier is het de bedoeling dat de naam van de klasse aangepast wordt naar een andere, beschrijvende naam voor deze klasse!
Daarna definiëren we de methode die overridden moet worden van de superklasse:
def getResponse(self, sentence, context, options={}):
Je mag deze methode implementeren zoals je wil, zolang hij maar een ResponseMessage-object teruggeeft. Verder ben je vrij om nog andere methodes te implementeren in deze klasse.
Last modified 2yr ago
Copy link