added history command

This commit is contained in:
Philipp 2024-04-07 17:52:05 +02:00
parent 5bdd0cd810
commit 2c838d5456
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
3 changed files with 25 additions and 4 deletions

View file

@ -1,6 +1,5 @@
import json
import urllib
import requests
import io
import base64
import asyncio
@ -14,7 +13,7 @@ from mautrix.types.event.message import BaseFileInfo, Format, TextMessageEventCo
from mautrix.util.config import BaseProxyConfig, ConfigUpdateHelper
from mautrix.util import markdown
from maubot import Plugin, MessageEvent
from maubot.handlers import event
from maubot.handlers import event, command
from mautrix.client import Client
from .history import History
@ -138,3 +137,12 @@ class Gpt(Plugin):
return content
@command.new(name="export")
async def export(self, event: MessageEvent) -> None:
await self.client.set_typing(event.room_id, timeout=9999)
result = await self.history.dump(event)
content = TextMessageEventContent(msgtype=MessageType.NOTICE, body=result, format=Format.HTML)
await event.respond(content, in_thread=self.config['reply_in_thread'])
await self.client.set_typing(event.room_id, timeout=0)

View file

@ -1,4 +1,5 @@
import redis.asyncio as redis
import requests
import json
class History():
@ -38,4 +39,16 @@ class History():
history = await self.get(userData)
if (len(history) == 0):
return "You have no ChatGPT history at the moment."
# Going to add this at a later point via haste.snrd.eu
text = ""
for i in range(0, len(history), 2):
text += f"You: {history[i]['content']}\nGPT: {history[i+1]['content']}\n\n"
response = requests.post("https://haste.snrd.eu/documents", data=text)
if response.status_code != 200:
return "Could not export the ChatGPT history! Please try again later!"
else:
haste = json.loads(response.text)['key']
msg = "Your ChatGPT history: https://haste.snrd.eu/raw/{}".format(haste)
return msg

View file

@ -1,6 +1,6 @@
maubot: 0.1.0
id: sh.boehm.gpt
version: 0.0.008
version: 0.0.02
license: MIT
modules:
- gpt