Tuberia / Main.py
Thebull's picture
Create Main.py
9b26801 verified
raw
history blame
1.62 kB
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
class ChatBotApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.chatbot = ChatBot('ChatBot')
self.trainer = ChatterBotCorpusTrainer(self.chatbot)
self.trainer.train("chatterbot.corpus.english.greetings",
"chatterbot.corpus.english.conversations")
def build(self):
box_layout = BoxLayout(orientation='vertical')
self.input_field = TextInput(multiline=False, hint_text="Tu mensaje...")
self.output_area = Label(halign='left', markup=True)
box_layout.add_widget(self.input_field)
box_layout.add_widget(self.output_area)
self.input_field.bind(on_text_validate=self.send_message)
return box_layout
def send_message(self, instance):
input_text = instance.text
output_text = self.get_response(input_text)
self.update_display(input_text, output_text)
self.input_field.text = ""
def get_response(self, input_text):
try:
response = self.chatbot.get_response(input_text)
except Exception as e:
response = f"Lo siento, hubo un error: {str(e)}"
finally:
return str(response)
def update_display(self, input_text, output_text):
self.output_area.text += f"\n<b>{input_text}</b>\n{output_text}"
if __name__ == "__main__":
ChatBotApp().run()