All Projects → ezelkow1 → discord-key-bot

ezelkow1 / discord-key-bot

Licence: GPL-3.0 license
A bot for discord that accepts, announces, and gives out keys

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to discord-key-bot

Playnite
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
Stars: ✭ 3,608 (+25671.43%)
Mutual labels:  steam, uplay, gog
GOGWrapper
Launch GOG games with GOG Galaxy using shortcuts and add shortcuts for GOG games into Steam Library
Stars: ✭ 28 (+100%)
Mutual labels:  steam, gog
Achievement-Watcher
A sexy achievement file parser with real-time notification, automatic screenshot and playtime tracking. View every achievements earned on your PC whether it's coming from Steam, a Steam emulator, and more.
Stars: ✭ 331 (+2264.29%)
Mutual labels:  steam, uplay
discourse-steam-login
Allows user authentication with discourse via the Steam user API
Stars: ✭ 45 (+221.43%)
Mutual labels:  steam
newsteamchat
Metro skin for Steam chat and friends UI.
Stars: ✭ 79 (+464.29%)
Mutual labels:  steam
AMO-Tools-Suite
AMO-Tools-Suite is an energy efficiency calculation library in C++ with optional Nan Node add-on bindings for the Department of Energy Advanced Manufacturing Office (DOE AMO) Desktop, also known as MEASUR.
Stars: ✭ 16 (+14.29%)
Mutual labels:  steam
csgo-league-web
League web panel
Stars: ✭ 42 (+200%)
Mutual labels:  steam
market-pricing
Wrapper for the unofficial Steam Market Pricing API
Stars: ✭ 21 (+50%)
Mutual labels:  steam
InternalSteamWebAPI
Documenting the unofficial and internal Steam Web API
Stars: ✭ 126 (+800%)
Mutual labels:  steam
ci
Gogs( GitHub )+Drone+Docker Registry | 私有化的 CI/CD & DevOps 解决方案
Stars: ✭ 37 (+164.29%)
Mutual labels:  gogs
Steam-Server-Manager
PowerShell Steam Server Manager
Stars: ✭ 33 (+135.71%)
Mutual labels:  steam
shards
Configurable, scalable and automatic sharding library for `discordgo`, done right ✔️
Stars: ✭ 18 (+28.57%)
Mutual labels:  discordgo
steam-auth
A simple PHP Steam login and User Detail package
Stars: ✭ 16 (+14.29%)
Mutual labels:  steam
Opore-Mod
On steam: https://steamcommunity.com/sharedfiles/filedetails/?id=1903525208
Stars: ✭ 29 (+107.14%)
Mutual labels:  steam
Manhunt-fix-Windows-10
Manhunt fix for Windows 10 Updated for Windows 10 latest versions
Stars: ✭ 24 (+71.43%)
Mutual labels:  steam
Fragsurf-2
Fragsurf is an actively developed standalone game based on HL2 surf and bhop movement mechanics.
Stars: ✭ 68 (+385.71%)
Mutual labels:  steam
GogsThemes
An attempt to give some colors to amazing Gogs platform ..
Stars: ✭ 53 (+278.57%)
Mutual labels:  gogs
saliengame-bot
Steam Saliens Game 2018 - Auto-play / Auto-Click Bot
Stars: ✭ 12 (-14.29%)
Mutual labels:  steam
SteamAccountRoboticAssistant
Chrome-Extension for enhancing and automating your Steam-Experience
Stars: ✭ 36 (+157.14%)
Mutual labels:  steam
runtime-snaps
Core repository for Solus runtime snaps
Stars: ✭ 32 (+128.57%)
Mutual labels:  steam

Go

discord-key-bot

A bot for discord that accepts, announces, and gives out keys

This requires a conf.json file (or whatever you choose to name the config file). An editable example is provided. It requires your bot token, a channel (using the channel ID number) to use for broadcasting messages, the name of the json/db file for key storage, and a KeysRole name if you wish to limit bot communication to a specific role.

The bot will need 'Manage Messages' permission in the channel, as the bot will erase any !add commands sent in the channel so that keys do not appear publicly

The bot will take any !add-ed keys, normalize the name by stripping whitespaces and lowercasing, and that becomes the key to a map. Within each key in the map are individual gamekeys which record the original "pretty" version of the game name, the user who donated, the gamekey, and the service for redeeming the key. Currently, the bot can recognize Steam, Uplay, Origin, PS3, GOG, and URLs. Any other key will be stored as an 'unknown' type. If a key is Steam or GOG, it will also generate a redemption link on a key !take.

Finally, the bot supports searching with !search, comparing a search substring to any key names, essentially a *(stripped tolower string)*

With the addition of roles' security, multi-server usage is unavailable. If the bot is used across multiple servers/guilds, the role management will be unavailable, and should set the field to the default of "" to disable it.

The commands are (from the !help command):

!add game name key - this will add a new key to the database. This should be done in a DM with the bot
!listkeys - PLEASE USE THIS IN A PRIVATE MESSAGE WITH THE BOT. Lists current games and the number of available keys
!take game name - Will give you one of the keys for the game in a DM
!mygames - Will give a list of games you have taken (this is only active when you are using a user database explained below)
!search search-string - Will search the database for matching games
!totals - Will give a total count of games and the total number of keys stored

The latest release can be found here: https://github.com/ezelkow1/discord-key-bot/releases/latest

Addendum

There are a couple of new options that dont really have default values but you can use them by setting the values in the config file:

UserFile - this is a string just like the database file. If this is set the bot will start keeping track of users and what games they take. It will prevent users from taking more than one key from any single game. This can be handy if you are using the bot for some sort of mass key distribution setup.

When enabled this also adds a new bot command, !mygames, which a user can do to receive a list of all the games they have taken from the bot

ListPMOnly - this is a boolean (set using true or false without quotations). The default is already false so you only need to use this if you want to set it to true. Setting true will prevent the bot from doing a full key list inside the broadcast channel. This can be really handy for when you start to get past ~100 keys or so, so people dont inadvertently (or on purpose) end up having the bot spam your channel with a key listing

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].