slickshift

module
v0.0.0-...-9349557 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2025 License: GPL-3.0

README

Invite Link

SlickShift

Slickshift is a Discord Bot to automatically redeem SHiFT codes for Borderlands 4!

It uses simple HTTP requests to authenticate with SHiFT Rewards, and then store user cookies in order to redeem SHiFT codes on their behalf.

User cookies are encrypted in a sqlite database, and SHiFT codes can be provided at whim using the API server on port 8080, or via the Discord Slash Command /add.

SlickShift is not affiliated with, endorsed by, or approved by Gearbox Software, 2K Games, or the SHiFT service in any way. To see more details, see LIABILITY.md

Installation

If you're just looking to use the Bot functionality, the easiest method is to join the official SlickShift discord server, and invoke the bot commands in there.

But if you're looking to run/install the bot locally:

Install Go 1.25+, then run go build -o bot-exec cmd/server.go. Then run the output bot-exec executable with the Environment Variables specified below

TODO: Add Github workflow to generate executables automatically

Docker

SlickShift is available as a Docker image in Dockerhub under denverquane/slickshift.

See Environment Variables for required runtime information and config.

Environment Variables

Variable Required Default Description
ENCRYPTION_KEY_B64 ✅ Yes None Base64-encoded 32-byte secret key used to encrypt user data. The program will exit if this is not set or invalid. Generate this with openssl rand -base64 32
DISCORD_BOT_TOKEN ✅ Yes None Discord bot token used to authenticate with the Discord API. The program will exit if this is not set.
DISCORD_GUILD_ID ❌ No None The ID of the Discord guild (server) where the bot will operate. If not set, slash commands will be registered globally (not recommended for development).
REDEEM_INTERVAL ❌ No 30 (minutes) Interval (in minutes) between redemption attempts. Must be ≥ 1. (Adding codes or registering new users will always trigger the redemption loop, so this can be a high value)
DATABASE_FILE_PATH ❌ No ./sqlite.db Path to the SQLite database file. If not set, it defaults to a local file.
API_SERVER_PORT ❌ No 8080 Port that the API server will be accessible on.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL