diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..bfa6029 --- /dev/null +++ b/setup.sh @@ -0,0 +1,181 @@ +#!/bin/bash +# This script updates the system, installs required system packages, +# clones the Discord bot repository, sets up a Python virtual environment, +# installs Python dependencies, and finally runs the bot. + +# Exit immediately if a command exits with a non-zero status. +set -e + +echo "Updating package lists and installing system dependencies..." +sudo apt update +sudo apt install python3.12-venv -y +sudo apt-get install python3-pip -y + +echo "Cloning the Discord bot repository..." +git clone https://gitlab.com/pancakes1234/wdiscordbot-internal-server-aws.git + +echo "Setting up the Python virtual environment..." +python3 -m venv venv +# Activate the virtual environment so that subsequent pip installs are local +source venv/bin/activate + +echo "Installing Python dependencies..." +pip install \ + aiohappyeyeballs==2.6.1 \ + aiohttp==3.11.16 \ + aiosignal==1.3.2 \ + annotated-types==0.6.0 \ + anyio==4.9.0 \ + archspec==0.2.3 \ + async-timeout==5.0.1 \ + attrs==25.3.0 \ + beautifulsoup4==4.13.4 \ + blis==1.3.0 \ + boltons==24.1.0 \ + Brotli==1.1.0 \ + catalogue==2.0.10 \ + certifi==2025.1.31 \ + cffi==1.17.1 \ + charset-normalizer==3.3.2 \ + ChatterBot==1.2.6 \ + chatterbot-corpus==1.2.2 \ + click==8.1.8 \ + cloudpathlib==0.21.0 \ + confection==0.1.5 \ + cryptography==43.0.3 \ + cymem==2.0.11 \ + decorator==5.2.1 \ + discord.py==2.5.2 \ + distro==1.9.0 \ + docx2pdf==0.1.8 \ + et_xmlfile==2.0.0 \ + fastapi==0.115.12 \ + filelock==3.18.0 \ + frozendict==2.4.2 \ + frozenlist==1.5.0 \ + fsspec==2025.3.2 \ + GPUtil==1.4.0 \ + greenlet==3.2.1 \ + h11==0.14.0 \ + hf-xet==1.1.1 \ + httpcore==1.0.8 \ + httpx==0.28.1 \ + huggingface-hub==0.31.1 \ + idna==3.7 \ + imageio==2.37.0 \ + imageio-ffmpeg==0.6.0 \ + inflate64==1.0.1 \ + inquirerpy==0.3.4 \ + Jinja2==3.1.6 \ + jiter==0.9.0 \ + jsonpatch==1.33 \ + jsonpointer==2.1 \ + langcodes==3.5.0 \ + language_data==1.3.0 \ + lxml==5.4.0 \ + lyricsgenius==3.6.2 \ + marisa-trie==1.2.1 \ + markdown-it-py==2.2.0 \ + MarkupSafe==3.0.2 \ + mathparse==0.1.5 \ + mdurl==0.1.0 \ + moviepy==2.1.2 \ + mpmath==1.3.0 \ + multidict==6.4.3 \ + multivolumefile==0.2.3 \ + murmurhash==1.0.12 \ + networkx==3.4.2 \ + numpy==2.2.5 \ + nvidia-cublas-cu12==12.6.4.1 \ + nvidia-cuda-cupti-cu12==12.6.80 \ + nvidia-cuda-nvrtc-cu12==12.6.77 \ + nvidia-cuda-runtime-cu12==12.6.77 \ + nvidia-cudnn-cu12==9.5.1.17 \ + nvidia-cufft-cu12==11.3.0.4 \ + nvidia-cufile-cu12==1.11.1.6 \ + nvidia-curand-cu12==10.3.7.77 \ + nvidia-cusolver-cu12==11.7.1.2 \ + nvidia-cusparse-cu12==12.5.4.2 \ + nvidia-cusparselt-cu12==0.6.3 \ + nvidia-nccl-cu12==2.26.2 \ + nvidia-nvjitlink-cu12==12.6.85 \ + nvidia-nvtx-cu12==12.6.77 \ + openai==0.28.0 \ + opencv-python==4.11.0.86 \ + openpyxl==3.1.5 \ + openrouter==1.0 \ + packaging==24.2 \ + pfzy==0.3.4 \ + pillow==10.4.0 \ + platformdirs==3.10.0 \ + pluggy==1.5.0 \ + preshed==3.0.9 \ + proglog==0.1.12 \ + prompt_toolkit==3.0.51 \ + propcache==0.3.1 \ + psutil==7.0.0 \ + py7zr==0.22.0 \ + pybcj==1.0.6 \ + pycosat==0.6.6 \ + pycparser==2.21 \ + pycryptodomex==3.23.0 \ + pydantic==2.10.3 \ + pydantic_core==2.27.1 \ + pydub==0.25.1 \ + Pygments==2.15.1 \ + PyNaCl==1.5.0 \ + PyPDF2==3.0.1 \ + pyppmd==1.1.1 \ + PySocks==1.7.1 \ + python-dateutil==2.9.0.post0 \ + python-docx==1.1.2 \ + python-dotenv==1.1.0 \ + python-pptx==1.0.2 \ + PyYAML==6.0.2 \ + pyzstd==0.17.0 \ + regex==2024.11.6 \ + requests==2.32.3 \ + rich==13.9.4 \ + ruamel.yaml==0.18.6 \ + ruamel.yaml.clib==0.2.8 \ + rule34==1.8.1 \ + safetensors==0.5.3 \ + setuptools==75.8.0 \ + shellingham==1.5.4 \ + six==1.17.0 \ + smart-open==7.1.0 \ + sniffio==1.3.1 \ + soupsieve==2.7 \ + spacy==3.8.5 \ + spacy-legacy==3.0.12 \ + spacy-loggers==1.0.5 \ + SQLAlchemy==2.0.40 \ + srsly==2.5.1 \ + starlette==0.46.2 \ + sympy==1.14.0 \ + texttable==1.7.0 \ + thinc==8.3.6 \ + tokenizers==0.21.1 \ + torch==2.7.0 \ + tqdm==4.67.1 \ + transformers==4.51.3 \ + triton==3.3.0 \ + truststore==0.10.0 \ + typer==0.15.2 \ + typing_extensions==4.13.2 \ + urllib3==2.3.0 \ + uvicorn==0.34.2 \ + wasabi==1.1.3 \ + wcwidth==0.2.13 \ + weasel==0.4.1 \ + wheel==0.45.1 \ + whois==1.20240129.2 \ + wrapt==1.17.2 \ + XlsxWriter==3.2.3 \ + yarl==1.19.0 \ + youtube-dl==2021.12.17 \ + zstandard==0.23.0 + +echo "Changing directory to the cloned repository and starting the bot..." +cd wdiscordbot-internal-server-aws +python3 bot.py \ No newline at end of file