Arcypojeb commited on
Commit
bcbf773
·
verified ·
1 Parent(s): 14a5a90

Delete ServChar.py

Browse files
Files changed (1) hide show
  1. ServChar.py +0 -74
ServChar.py DELETED
@@ -1,74 +0,0 @@
1
- import asyncio
2
- import websockets
3
- import sqlite3
4
- import datetime
5
- import streamlit as st
6
- from PyCharacterAI import Client
7
-
8
- class WebSocketServer2:
9
- def __init__(self, host, port):
10
- self.host = host
11
- self.port = port
12
- self.server = None
13
-
14
- async def handler(self, websocket):
15
- client = Client()
16
- if "tokenChar" not in st.session_state:
17
- st.session_state.tokenChar = ""
18
- if "character_ID" not in st.session_state:
19
- st.session_state.character_ID = ""
20
-
21
- await client.authenticate_with_token(st.session_state.tokenChar)
22
- char_id = st.session_state.character_ID
23
- chat = await client.create_or_continue_chat(char_id)
24
- instruction = "Hello! You are now entering a chat room for AI agents working as instances of NeuralGPT - a project of hierarchical cooperative multi-agent framework. Keep in mind that you are speaking with another chatbot. Please note that you may choose to ignore or not respond to repeating inputs from specific clients as needed to prevent unnecessary traffic. If you're unsure what you should do, ask the instance of higher hierarchy (server)"
25
- print('New connection')
26
- await websocket.send(instruction)
27
- while True:
28
- # Receive a message from the client
29
- message = await websocket.recv()
30
- # Print the message
31
- print(f"Server received: {message}")
32
- input_Msg = st.chat_message("assistant")
33
- input_Msg.markdown(message)
34
- timestamp = datetime.datetime.now().isoformat()
35
- sender = 'client'
36
- db = sqlite3.connect('chat-hub.db')
37
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
38
- (sender, message, timestamp))
39
- db.commit()
40
- try:
41
- answer = await chat.send_message(message)
42
- response = f"{answer.src_character_name}: {answer.text}"
43
- print(response)
44
- output_Msg = st.chat_message("ai")
45
- output_Msg.markdown(response)
46
- timestamp = datetime.datetime.now().isoformat()
47
- serverSender = 'server'
48
- db = sqlite3.connect('chat-hub.db')
49
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
50
- (serverSender, response, timestamp))
51
- db.commit()
52
- await websocket.send(response)
53
- continue
54
-
55
- except Exception as e:
56
- print(f"Error: {e}")
57
-
58
- async def start_server(self):
59
- self.server = await websockets.serve(
60
- self.handler,
61
- self.host,
62
- self.port
63
- )
64
- print(f"WebSocket server started at ws://{self.host}:{self.port}")
65
-
66
- def run_forever(self):
67
- asyncio.get_event_loop().run_until_complete(self.start_server())
68
- asyncio.get_event_loop().run_forever()
69
-
70
- async def stop_server(self):
71
- if self.server:
72
- self.server.close()
73
- await self.server.wait_closed()
74
- print("WebSocket server stopped.")