Corban-Lee Jones ad982267a1
All checks were successful
Build and Push Docker Image / build (push) Successful in 10s
Merge pull request 'staging into master' (#69) from staging into master
Reviewed-on: #69
2024-10-14 22:34:03 +00:00
2024-08-14 20:28:07 +01:00
2024-02-07 01:03:50 +00:00
2024-09-12 20:16:27 +01:00
2024-09-12 20:16:36 +01:00
2024-09-12 20:16:36 +01:00
2024-08-14 00:00:48 +01:00
2024-02-15 22:24:21 +00:00
2024-09-12 20:16:27 +01:00
2024-08-12 00:36:29 +01:00
2024-08-21 10:14:29 +01:00
2024-01-28 23:18:51 +00:00
2024-08-12 16:31:27 +01:00
2024-08-12 00:06:16 +01:00

PYRSS Website

Setup

Discord Application

A Discord Application is required for PYRSS to work, as it will provide the Discord Bot used to send RSS content.

Save the key and secret as these environment variables:

  • DISCORD_KEY
  • DISCORD_SECRET

Create the Application

  1. Navigate to the Discord Developer Portal, on the applications page: https://discord.com/developers/applications.
  2. Create an App using the "New Application" button.

Installation

Now that you've created an Application, there are some required settings that you need to configure, navigate to the "Installation" tab from the sidebar.

Under "Installation Contexts", ensure that only the Guild Install checkbox is checked.

An example image showing the "Guild Install" checkbox as checked.

This application is designed to be used in Guilds, so this setting is important.

OAuth2

Navigate to the "OAuth2" tab from the sidebar.

  1. Head to the "Redirects" section and select "Add Redirect"
  2. Add a redirect with this format: PROTOCOL://HOST_ENDPOINT/oauth2/login/redirect where PROTOCOL is either http or https, and the HOST_ENDPOINT is either an IP:PORT combination or web domain.

Now you need to generate an Invite URL that you can use to add the Bot to your Discord Server. Navigate to the "OAuth2 URL Generator" section.

  1. Check the checkboxes for these scopes:
    • identify
    • guilds
    • applications.commands
    • bot
  2. There should be a select box below the "scopes" section. Select the redirect URL that you created earlier.
  3. Check the checkboxes for these bot permissions:
    • View Channels
    • Send Messages
    • Embed Links
    • Attach Files > TODO: verifiy?
    • Use Slash Commands
  4. "Integration Type" select Guild Install
  5. Copy and save the generated URL

You need to create an environment variable for the generated url, DISCORD_OAUTH2_URL.

TODO: write for DISCORD_INVITE_URL env var

Bot

Navigate to the "Bot" tab from the sidebar.

Take note of the Token, you may need to use the "Reset Token" button to get one. You will need to create an environment variable BOT_TOKEN for PYRSS.

Navigate to the "Privilaged Gateway Intents" and ensure these intents are enabled:

  • TODO

Database

Use environment variables to specify a database, otherwise an sqlite database file will be created and used by default.

Environment Variables

DB_ENGINE - Supported database engines
DB_NAME - Name of the database
DB_USER - Name of the database user
DB_PASS - Password of the database user
DB_HOST - Host IP of the database
DB_PORT - Host Port of the database

Note


If DB_ENGINE is not specified, the other database related environment variables will be ignored, and the default sqlite database will be used with a generated db.sqlite3 file.

Admin Account

Create an environment variable SUPERUSER_IDS and add comma separated Discord snowflake User IDs. When logged-in, these users will be able to access the admin panel.

Logs

By default, logs will be output to the logs/ directory in the project root, which is at /app/logs/ when deployed with docker.

Troubleshooring

Bad Request (400)

Ensure your HOST environemtn variable matches the endpoint that you are accessing the web application from.

Server Error (500) - keyerror 'access_token'

Ensure your environment variables for DISCORD_OAUTH2_URL and DISCORD_REDIRECT_URL are correct, using the correct endpoint for your application, otherwise discord will not return a response including an access token when requested.

Description
No description provided
Readme 18 MiB
Languages
CSS 33.7%
Python 29.1%
JavaScript 24.4%
HTML 12.6%
Dockerfile 0.2%