The Interface of the fdb-spider, based on rocketchat
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

104 lines
3.0 KiB

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)