|
|
@ -0,0 +1,104 @@ |
|
|
|
import os |
|
|
|
from rocketchat.api import RocketChatAPI |
|
|
|
import configparser |
|
|
|
import json |
|
|
|
import requests |
|
|
|
|
|
|
|
config = configparser.ConfigParser() |
|
|
|
config.read('/root/fdb-spider-interface/config.ini') |
|
|
|
|
|
|
|
botname = config['Chat']['username'] |
|
|
|
botpassword = config['Chat']['password'] |
|
|
|
server_url = config['Chat']['URL'] |
|
|
|
room_id = config['Chat']['room_id'] |
|
|
|
|
|
|
|
# here comes the functions to talk to gpt |
|
|
|
|
|
|
|
|
|
|
|
# For local streaming, the websockets are hosted without ssl - http:// |
|
|
|
HOST = 'localhost:5000' |
|
|
|
URI = f'http://{HOST}/api/v1/chat' |
|
|
|
#URI = f'http://{HOST}/api' |
|
|
|
|
|
|
|
# http://192.168.9.197:5000/api/v1/chat |
|
|
|
|
|
|
|
# For reverse-proxied streaming, the remote will likely host with ssl - https:// |
|
|
|
# URI = 'https://your-uri-here.trycloudflare.com/api/v1/chat' |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
|
|
|
|
|
|
|
|
api = RocketChatAPI(settings={'username': botname, 'password': botpassword, 'domain': server_url}) |
|
|
|
|
|
|
|
#api.send_message('Ciao, I am the fdb-spider', room_id) |
|
|
|
|
|
|
|
# rooms = api.get_private_rooms() |
|
|
|
|
|
|
|
# print(rooms) |
|
|
|
|
|
|
|
# api.send_message('Ole', room_id) |
|
|
|
|
|
|
|
n = 0 |
|
|
|
|
|
|
|
import time |
|
|
|
import datetime |
|
|
|
from datetime import timedelta |
|
|
|
while True: |
|
|
|
time.sleep(10) |
|
|
|
|
|
|
|
n += 1 |
|
|
|
print(n) |
|
|
|
|
|
|
|
try: |
|
|
|
|
|
|
|
date = datetime.datetime.now() - timedelta(days=3) |
|
|
|
room_history = api.get_private_room_history(room_id, oldest=date) |
|
|
|
except Exception as e: |
|
|
|
time.sleep(10) |
|
|
|
api = RocketChatAPI(settings={'username': botname, 'password': botpassword, 'domain': server_url}) |
|
|
|
time.sleep(5) |
|
|
|
room_history = api.get_private_room_history(room_id, oldest=date) |
|
|
|
print('got a connection error, original message is:',e) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
messages_list = [] |
|
|
|
|
|
|
|
|
|
|
|
for message in room_history['messages']: |
|
|
|
messages_list.append(message) |
|
|
|
|
|
|
|
if len(messages_list) > 1: |
|
|
|
|
|
|
|
latest_message_user_id = messages_list[0]['u']['_id'] |
|
|
|
|
|
|
|
latest_message = messages_list[0]['msg'] |
|
|
|
|
|
|
|
latest_message_id = messages_list[0]['_id'] |
|
|
|
|
|
|
|
new_message_file = open('new_message_file.txt', 'r') |
|
|
|
new_message = new_message_file.read() |
|
|
|
new_message_file.close() |
|
|
|
|
|
|
|
new_message_list = new_message.split('§%§%') |
|
|
|
|
|
|
|
|
|
|
|
if new_message_list[0] != latest_message and new_message_list[1] != latest_message_id and latest_message_user_id != 'bb8EfPXrviu9yB9Ja': |
|
|
|
|
|
|
|
new_message_file = open('new_message_file.txt', 'w') |
|
|
|
new_message_file.write(latest_message + '§%§%' + latest_message_id) |
|
|
|
new_message_file.close() |
|
|
|
|
|
|
|
|
|
|
|
user_input = latest_message |
|
|
|
print('oi', user_input) |
|
|
|
api.send_message('Salut, ich bearbeite die Anfrage..', room_id) |
|
|
|
|
|
|
|
# here comes the code interacting with the spiders output json |
|
|
|
|
|
|
|
api.send_message(answer, room_id) |
|
|
|
time.sleep(4) |
|
|
|
api.send_message('Ich bin wieder bereit für Konfigurationsinput : )', room_id) |
|
|
|
time.sleep(3) |
|
|
|
|