Skip to main content

Reddit bot to provide updates for video games.

Project description

upcoming-games

Reddit bot to update sidebar for /r/IGN. Can be configured for a variety of uses.

Usage

  1. Install Python 3.6 or greater if you have not already.

  2. Install the bot with pip install aav.upcoming-games. You may need to use sudo or pip3 or --user depending on your permissions, i.e. if you do not have sudo permissions and you also have Python 2 installed, you may need to use pip3 install --user aav.upcoming-games.

  3. Obtain a Reddit client ID and client secret from https://reddit.com/prefs/apps on the account you want to use for the bot.

  4. Set up your configuration file and template as mentioned in the ‘Configuration’ section.

  5. Run the bot from the command line with the full path to your config file: upcoming-games "/home/aav/my.yaml"

Developer Usage

  1. Install Python 3.6 or greater if you have not already.

  2. Install the bot with pip install aav.upcoming-games. You may need to use sudo or pip3 or --user depending on your permissions, i.e. if you do not have sudo permissions and you also have Python 2 installed, you may need to use pip3 install --user aav.upcoming-games.

  3. import upcoming_games

  4. You can use any of the three functions: get_all_games, get_markdown, post_table, and the class UpcomingGame as desired.

Configuration

Here is the default configuration file:

general:
  silent: False
  time_period: "7d"
  systems: []
  game_limit: 10
  table_format: "short"

reddit:
  client_id: "..."
  client_secret: "..."
  subreddit: "..."
  scripthost: "..."
  password: "..."
  post_type: "sidebar"
  template: 'path/to/template.txt'

Here’s what each setting is for:

  • general

    • silent - True if you don’t want any script output.

    • time_period - Valid time period for upcoming games (can be one of 7d, 1m, 3m, 6m, 12m, all).

    • system - List of consoles you want to include releases for. Empty means include all.

    • game_limit - Number of games you want for the Markdown table.

    • table_format - short for only the game name and first release, long for system details.

  • reddit

    • client_id - Your reddit bot’s client ID.

    • client_secret - Your reddit bot’s client secret.

    • subreddit - The subreddit (your must be a moderator) to post to/update the sidebar.

    • scripthost - The username for the bot account you registered for the client ID on.

    • password - The password for the bot account.

    • post_type - sidebar to update the sidebar, sticky to make a ‘bottom’ stickied post.

    • template - the full path to the template you want to use.

Note the template must contain somewhere in it the text %%%TABLE%%%, as this is where the Markdown table will be put. If no path or an invalid path is specified, the template used will be blank, i.e. it will only contain the Markdown table, nothing else.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aav.upcoming-games-0.1.0.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

aav.upcoming_games-0.1.0-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page