File size: 1,930 Bytes
6ba3c65
 
71736e8
 
 
 
 
 
 
 
6ba3c65
71736e8
 
 
 
 
6ba3c65
71736e8
 
6ba3c65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# In create_chatbot.py

import gradio as gr
from utils.utils import get_secret
from database import create_chatbot, filter_profanity

CREATE_APP_PW = get_secret("CREATE_APP_PW")

def create_chatbot_interface(name, custom_instruction, password):
    if password != CREATE_APP_PW:
        return "Ungültiges Passwort. Erstellung des Chatbots fehlgeschlagen.", None, None
    
    filtered_name = filter_profanity(name)
    filtered_instruction = filter_profanity(custom_instruction)
    
    chatbot = create_chatbot(filtered_name, filtered_instruction)
    return f"Chatbot erstellt mit ID: {chatbot.chatbot_id}", chatbot.chatbot_id, chatbot.name

def create_chatbot_tab():
    with gr.Group():
        name = gr.Textbox(label="Chatbot-Name")
        instructions = gr.Textbox(label="Benutzerdefinierte Anweisungen für Ihren Chatbot eingeben", lines=6)  # Changed to 6 lines
        create_password = gr.Textbox(label="Erstellungspasswort", type="password")
        create_button = gr.Button("Chatbot erstellen")
        create_output = gr.Textbox(label="Ergebnis der Erstellung")
        chatbot_id_output = gr.Textbox(label="Erstellte Chatbot-ID", elem_id="created_chatbot_id")
        chatbot_name_output = gr.Textbox(label="Erstellter Chatbot-Name", elem_id="created_chatbot_name")

    # Add copy buttons
    copy_id_button = gr.HTML("""
    <button onclick="copyToClipboard('created_chatbot_id')">Chatbot-ID kopieren</button>
    """)
    copy_name_button = gr.HTML("""
    <button onclick="copyToClipboard('created_chatbot_name')">Chatbot-Name kopieren</button>
    """)

    create_button.click(
        create_chatbot_interface,
        inputs=[name, instructions, create_password],
        outputs=[create_output, chatbot_id_output, chatbot_name_output]
    )

    return {
        "create_output": create_output,
        "chatbot_id_output": chatbot_id_output,
        "chatbot_name_output": chatbot_name_output
    }