mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
* PostgreSQL driver and general drivers cleanup Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Make tests pass Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Add black --target-version flag in make.bat Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Rewrite postgres driver Most of the logic is now in PL/pgSQL. This completely avoids the use of Python f-strings to format identifiers into queries. Although an SQL-injection attack would have been impossible anyway (only the owner would have ever had the ability to do that), using PostgreSQL's format() is more reliable for unusual identifiers. Performance-wise, I'm not sure whether this is an improvement, but I highly doubt that it's worse. Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Reformat Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Fix PostgresDriver.delete_all_data() Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Clean up PL/pgSQL code Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * More PL/pgSQL cleanup Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * PL/pgSQL function optimisations Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Ensure compatibility with PostgreSQL 10 and below Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * More/better docstrings for PG functions Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Fix typo in docstring Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Return correct value on toggle() Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Use composite type for PG function parameters Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Fix JSON driver's Config.clear_all() Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Correct description for Mongo tox recipe Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Fix linting errors Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Update dep specification after merging bumpdeps Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Add towncrier entries Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Update from merge Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Mention [postgres] extra in install docs Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Support more connection options and use better defaults Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Actually pass PG env vars in tox Signed-off-by: Toby Harradine <tobyharradine@gmail.com> * Replace event trigger with manual DELETE queries Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
127 lines
3.7 KiB
ReStructuredText
127 lines
3.7 KiB
ReStructuredText
.. _windows-install-guide:
|
|
|
|
=========================
|
|
Installing Red on Windows
|
|
=========================
|
|
|
|
---------------
|
|
Needed Software
|
|
---------------
|
|
|
|
The following software dependencies can all be installed quickly and easily through powershell,
|
|
using a trusted package manager for windows called `Chocolatey <https://chocolatey.org>`_
|
|
|
|
We also provide instructions for manually installing all of the dependencies.
|
|
|
|
******************************************
|
|
Installing using powershell and chocolatey
|
|
******************************************
|
|
|
|
To install via powershell, search "powershell" in the windows start menu,
|
|
right-click on it and then click "Run as administrator"
|
|
|
|
Then run each of the following commands:
|
|
|
|
.. code-block:: none
|
|
|
|
Set-ExecutionPolicy Bypass -Scope Process -Force
|
|
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
|
choco install git --params "/GitOnlyOnPath /WindowsTerminal" -y
|
|
choco install jre8 python -y; exit
|
|
|
|
|
|
********************************
|
|
Manually installing dependencies
|
|
********************************
|
|
|
|
* `Python <https://www.python.org/downloads/>`_ - Red needs Python 3.7.0 or greater
|
|
|
|
.. note:: Please make sure that the box to add Python to PATH is CHECKED, otherwise
|
|
you may run into issues when trying to run Red.
|
|
|
|
* `Git <https://git-scm.com/download/win>`_
|
|
|
|
.. attention:: Please choose the option to "Run Git from the Windows Command Prompt" in Git's setup.
|
|
|
|
* `Java <https://java.com/en/download/manual.jsp>`_ - needed for Audio
|
|
|
|
.. attention:: Please choose the "Windows Online" installer.
|
|
|
|
.. _installing-red-windows:
|
|
|
|
--------------
|
|
Installing Red
|
|
--------------
|
|
|
|
.. attention:: You may need to restart your computer after installing dependencies
|
|
for the PATH changes to take effect.
|
|
|
|
1. Open a command prompt (open Start, search for "command prompt", then click it)
|
|
2. Create and activate a virtual environment (strongly recommended), see the section `using-venv`
|
|
3. Run **one** of the following commands, depending on what extras you want installed
|
|
|
|
.. note::
|
|
|
|
If you're not inside an activated virtual environment, include the ``--user`` flag with all
|
|
``pip`` commands.
|
|
|
|
* Normal installation:
|
|
|
|
.. code-block:: none
|
|
|
|
python -m pip install -U Red-DiscordBot
|
|
|
|
* With MongoDB support:
|
|
|
|
.. code-block:: none
|
|
|
|
python -m pip install -U Red-DiscordBot[mongo]
|
|
|
|
* With PostgreSQL support:
|
|
|
|
.. code-block:: none
|
|
|
|
python3.7 -m pip install -U Red-DiscordBot[postgres]
|
|
|
|
.. note::
|
|
|
|
To install the development version, replace ``Red-DiscordBot`` in the above commands with the
|
|
following link:
|
|
|
|
.. code-block:: none
|
|
|
|
git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=Red-DiscordBot
|
|
|
|
--------------------------
|
|
Setting Up and Running Red
|
|
--------------------------
|
|
|
|
After installation, set up your instance with the following command:
|
|
|
|
.. code-block:: none
|
|
|
|
redbot-setup
|
|
|
|
This will set the location where data will be stored, as well as your
|
|
storage backend and the name of the instance (which will be used for
|
|
running the bot).
|
|
|
|
Once done setting up the instance, run the following command to run Red:
|
|
|
|
.. code-block:: none
|
|
|
|
redbot <your instance name>
|
|
|
|
It will walk through the initial setup, asking for your token and a prefix.
|
|
You can find out how to obtain a token with
|
|
`this guide <https://discordpy.readthedocs.io/en/v1.0.1/discord.html#creating-a-bot-account>`_,
|
|
section "Creating a Bot Account".
|
|
|
|
You may also run Red via the launcher, which allows you to restart the bot
|
|
from discord, and enable auto-restart. You may also update the bot from the
|
|
launcher menu. Use the following command to run the launcher:
|
|
|
|
.. code-block:: none
|
|
|
|
redbot-launcher
|