diff --git a/cogs/moderations_service_cog.py b/cogs/moderations_service_cog.py index 9cae7ff..743e52e 100644 --- a/cogs/moderations_service_cog.py +++ b/cogs/moderations_service_cog.py @@ -9,7 +9,11 @@ from services.moderations_service import Moderation, ThresholdSet MOD_DB = None try: print("Attempting to retrieve the General and Moderations DB") - MOD_DB = SqliteDict("main_db.sqlite", tablename="moderations", autocommit=True) + MOD_DB = SqliteDict( + EnvService.find_shared_file("main_db.sqlite"), + tablename="moderations", + autocommit=True, + ) except Exception as e: print("Failed to retrieve the General and Moderations DB") raise e diff --git a/cogs/text_service_cog.py b/cogs/text_service_cog.py index 9c37b72..2f29ea4 100644 --- a/cogs/text_service_cog.py +++ b/cogs/text_service_cog.py @@ -49,8 +49,16 @@ MOD_DB = None GENERAL_DB = None try: print("Attempting to retrieve the General and Moderations DB") - MOD_DB = SqliteDict("main_db.sqlite", tablename="moderations", autocommit=True) - GENERAL_DB = SqliteDict("main_db.sqlite", tablename="general", autocommit=True) + MOD_DB = SqliteDict( + EnvService.find_shared_file("main_db.sqlite"), + tablename="moderations", + autocommit=True, + ) + GENERAL_DB = SqliteDict( + EnvService.find_shared_file("main_db.sqlite"), + tablename="general", + autocommit=True, + ) print("Retrieved the General and Moderations DB") except Exception as e: print("Failed to retrieve the General and Moderations DB. The bot is terminating.") diff --git a/detailed_guides/INSTALLATION.md b/detailed_guides/INSTALLATION.md index 75f1e63..c20343f 100644 --- a/detailed_guides/INSTALLATION.md +++ b/detailed_guides/INSTALLATION.md @@ -80,38 +80,58 @@ To connect with ssh, run the following command in terminal: It will then prompt you for your password, which you should enter, and then you will be logged in. -After login, we need to install the various dependencies that the bot needs. To do this, we will run the following commands: +## After login, we need to install the various dependencies that the bot needs. To do this, we will run the following commands: + +#### Clone the project files ```shell git clone https://github.com/Kav-K/GPT3Discord.git -cd GPT3Discord/ -# Install system packages (python) +cd GPT3Discord/ +```` + +#### Install system packages (python) +```shell sudo apt-get update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt install python3.9 sudo apt install python3.9-distutils # If this doesn't work, try sudo apt install python3-distutils -# Install Pip for python3.9 +``` + +#### Install Pip for python3.9 +```shell curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3.9 get-pip.py -# Install project dependencies +``` + +#### Install project dependencies +``` python3.9 -m pip install --ignore-installed PyYAML python3.9 -m pip install torch==1.9.1+cpu torchvision==0.10.1+cpu -f https://download.pytorch.org/whl/torch_stable.html python3.9 -m pip install -r requirements.txt python3.9 -m pip install . -# Copy the sample.env file into a regular .env file. `DEBUG_GUILD` and the ID for `ALLOWED_GUILDS` can be found by right-clicking your server and choosing "Copy ID". Similarly, `DEBUG_CHANNEL` can be found by right-clicking your debug channel. +``` + +#### Copy the sample.env file into a regular .env file. `DEBUG_GUILD` and the ID for `ALLOWED_GUILDS` can be found by right-clicking your server and choosing "Copy ID". Similarly, `DEBUG_CHANNEL` can be found by right-clicking your debug channel. +```shell cp sample.env .env -# The command below is used to edit the .env file and to put in your API keys. You can right click within the -# editor after running this command to paste. When you are done editing, press CTRL + X, and then type Y, to save. -nano .env -# Run the bot using [screen](https://www.gnu.org/software/screen/manual/screen.html) to keep it running after you disconnect from your SSH session: +``` + +#### The command below is used to edit the .env file and to put in your API keys. You can right click within the editor after running this command to paste. When you are done editing, press CTRL + X, and then type Y, to save. +```shell +nano .env +``` + +#### Run the bot using [screen](https://www.gnu.org/software/screen/manual/screen.html) to keep it running after you disconnect from your SSH session: +```shell screen gpt3discord -# Hit `Ctrl+a` then `d` to detach from the running bot. -# The bot's screen session can be reattached: -screen -r -``` +``` + +#### Hit `Ctrl+a` then `d` to detach from the running bot. The bot's screen session can be reattached: `screen -r` + If the last few commands don't allow the bot to run `screen gpt3discord`, you can attempt to run the bot another way: -``` + +``` shell # First, navigate to the folder where the project files are screen -dmS GPTBot bash -c 'python3.9 gpt3discord.py' @@ -123,7 +143,7 @@ screen -d -r {ID} # replace {ID} with the ID of the screen session you want to r ``` As a last resort, you can try to run the bot using python in a basic way, with simply -``` +```shell cd GPT3Discord python3.9 gpt3discord.py diff --git a/gpt3discord.py b/gpt3discord.py index a6881aa..ddac49e 100644 --- a/gpt3discord.py +++ b/gpt3discord.py @@ -32,7 +32,7 @@ from services.environment_service import EnvService from models.openai_model import Model -__version__ = "10.9.7" +__version__ = "10.9.9" PID_FILE = Path("bot.pid") diff --git a/services/environment_service.py b/services/environment_service.py index 4bbd652..6a1ee35 100644 --- a/services/environment_service.py +++ b/services/environment_service.py @@ -347,7 +347,7 @@ class EnvService: print( "No user key database path was provided. Defaulting to user_key_db.sqlite" ) - user_key_db_path = "user_key_db.sqlite" + user_key_db_path = EnvService.find_shared_file("user_key_db.sqlite") else: # append "user_key_db.sqlite" to USER_KEY_DB_PATH if it doesn't already end with .sqlite if not user_key_db_path.match("*.sqlite"):