|
import gradio as gr |
|
import socket |
|
|
|
HOST = '129.159.146.88' |
|
PORT = 5000 |
|
|
|
def sendToServer(message): |
|
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket: |
|
client_socket.connect((HOST, PORT)) |
|
client_socket.sendall(message.encode()) |
|
|
|
data = client_socket.recv(1024) |
|
try: |
|
return data.decode('utf-8') |
|
|
|
except: |
|
return "Бот устал и должен отдохнуть" |
|
|
|
finally: |
|
client_socket.close() |
|
|
|
def clear_textbox(): |
|
return "" |
|
|
|
with gr.Blocks() as WarBot: |
|
gr.Markdown( |
|
""" |
|
# Боевой Чат-Бот портала WarOnline |
|
Пока-что это бредогенератор, тренированый на диалогах форума,<br> |
|
Есть куча багов. Но мы работаем над улучшениями! :) |
|
""") |
|
|
|
with gr.Row(): |
|
input = gr.Textbox(lines=5, placeholder="Введите сообщение...", label="Вопрос:") |
|
output = gr.Textbox(label="Ответ:", lines=5) |
|
|
|
send_btn = gr.Button("Послать Сообщение") |
|
send_btn.click(fn=sendToServer, inputs=input, outputs=output) |
|
clr_btn = gr.Button("Очистить") |
|
clr_btn.click(fn=clear_textbox,outputs=input) |
|
|
|
|
|
WarBot.launch() |
|
|