matrix_chatgpt_bot/main.py

54 lines
1.7 KiB
Python
Raw Normal View History

2023-03-05 14:07:25 +00:00
import json
2023-04-10 02:52:18 +00:00
import os
2023-03-05 14:07:25 +00:00
import asyncio
from bot import Bot
2023-04-10 02:52:18 +00:00
from log import getlogger
2023-03-05 14:07:25 +00:00
2023-04-10 02:52:18 +00:00
logger = getlogger()
2023-03-05 14:07:25 +00:00
async def main():
2023-04-10 02:52:18 +00:00
2023-04-10 11:37:43 +00:00
fp = open('config.json', 'r', encoding="utf8")
config = json.load(fp)
matrix_bot = Bot(homeserver=config.get('homeserver'),
user_id=config.get('user_id') ,
password=config.get('password'),
device_id=config.get('device_id'),
room_id=config.get('room_id'),
api_key=config.get('api_key'),
bing_api_endpoint=config.get('bing_api_endpoint'),
access_token=config.get('access_token'),
jailbreakEnabled=config.get('jailbreakEnabled'),
bing_auth_cookie=config.get('bing_auth_cookie'),
)
2023-04-10 02:52:18 +00:00
# if not set access_token, then login via password
# if os.path.exists('config.json'):
# fp = open('config.json', 'r', encoding="utf8")
# config = json.load(fp)
# if os.environ.get("ACCESS_TOKEN") is None and config.get("access_token") is None:
# await matrix_bot.login()
# elif os.environ.get("ACCESS_TOKEN") is None:
# await matrix_bot.login()
await matrix_bot.login()
2023-04-10 11:37:43 +00:00
await matrix_bot.sync_encryption_key()
2023-04-10 02:52:18 +00:00
2023-04-10 11:37:43 +00:00
await matrix_bot.trust_own_devices()
2023-04-10 02:52:18 +00:00
2023-04-10 11:37:43 +00:00
await matrix_bot.sync_forever(timeout=30000, full_state=True)
2023-03-05 14:07:25 +00:00
if __name__ == "__main__":
2023-04-10 11:37:43 +00:00
print("matrix chatgpt bot start.....")
# try:
# loop = asyncio.get_running_loop()
# except RuntimeError:
# loop = asyncio.new_event_loop()
# asyncio.set_event_loop(loop)
asyncio.run(main())
2023-04-10 11:37:43 +00:00