11# FICSIT-Fred
22
3- A Discord bot for the Satisfactory Modding Discord
3+ A Discord bot for the Satisfactory Modding Discord.
4+ Features automatic log file and crash report analysis and runtime-editable commands to help answer common questions.
45
56---
67
@@ -21,16 +22,17 @@ These intents are needed to receive the content of messages and receive member j
2122
2223Docker is for making containers. If you're not sure what that means, look it up it's real cool! In our case, it helps
2324use set up all needed dependencies for Fred without you needing to do anything other than install Docker.
24- You can get docker [ here ] ( https://docs.docker.com/engine/install/ ) . For Linux, make sure to ** not ** use Docker Desktop.
25- For Windows, it is the easiest way.
25+ On Linux, use [ Docker Engine ] ( https://docs.docker.com/engine/install/ ) instead of Docker Desktop.
26+ On Windows, [ Docker Desktop ] ( https://docs.docker.com/desktop/setup/install/windows-install/ ) is the easiest way.
2627If you don't want to install Docker (especially on Windows where Docker Desktop can take up resources and requires
27- virtualization to be enabled), you can also manually set up a PostgreSQL DB and configure Fred to point to it.
28+ virtualization to be enabled), you can also manually set up a PostgreSQL DB and configure Fred to point to it,
29+ which is outside the scope of this guide.
2830
2931---
3032
3133### Setup
3234
33- Two choices here: All through docker or hybrid local/docker .
35+ Two choices here: All through Docker or hybrid local/Docker .
3436We recommend the hybrid way for ease of development. We don't have a proper devcontainer setup so debugging Fred when
3537running in Docker is not great.
3638Instead, in a hybrid setup, you'll use Docker for the Postgres DB only and run Fred locally using Poetry.
@@ -50,13 +52,13 @@ You can use `fred@fred.com` for the user and `fred` for the password. All of thi
5052
5153For this, you'll need [ poetry] ( https://python-poetry.org/ ) .
5254
53- ** Make sure you are using a compatible version of python, or Fred will not build!**
55+ ** Make sure you are using a compatible version of python, or Fred will not build!**
5456You can find the version requirements in the [ ` pyproject.toml ` ] ( pyproject.toml ) .
5557We recommend the use of [ pyenv] ( https://github.com/pyenv/pyenv ) to install the best version.
5658
57- Create a virtual environment with ` poetry env use ` , using the python version mentioned above. Then run` poetry install ` .
58- This should create a ` .venv ` folder that contains the virtualenv with all the necessary packages.
59- Activate it using the script pointed to by ` poetry env activate ` .
59+ Create a virtual environment with ` poetry env use python_version_here ` , using the python version mentioned above. Then run ` poetry install ` .
60+ This should create a ` .venv ` folder that contains the virtualenv with all the necessary packages.
61+ Activate it [ running the script output when executing ` poetry env activate ` ] ( https://python-poetry.org/docs/managing-environments ) .
6062
6163Now, run ` docker compose -f docker-compose-deps.yml up -d ` . This should spin up the postgres DB.
6264You can verify that the database was properly created and manage it by going to < http://localhost:8080 > where pgadmin
@@ -87,7 +89,16 @@ script from your IDE instead. Don't forget to use the virtualenv python!
8789
8890---
8991
92+ ## Contributing
93+
94+ Contribute to this project via pull requests.
95+ It's best to discuss changes with the team on the [ Satisfactory Modding Discord] ( https://discord.ficsit.app ) first.
96+
97+ Make sure to run the Python [ Black formatter] ( https://github.com/psf/black ) before committing.
98+ To do this, run ` black . ` in the root of the project.
99+ This will follow the style rules set in the ` pyproject.toml ` .
100+
90101## Thanks
91102
92103This project is maintained by Feyko and Borketh, with contributions from the Satisfactory Modding dev team.
93- Thank you to everyone who has written code for this project!
104+ Thank you to everyone who has written code for this project!
0 commit comments