Raffle Rigger

Posted on

Here is the Github Link!

I was able to implement a multiple sculpt / colorway section of my raffle rigger program for people focused on low quantities per keycap but multiple colors.

My name is John and I have a website called nerdblog.io


I have recently created a program that aids in handling raffles and batch invoicing for Paypal.


The scenario would be the following:


-Host a Google form raffle

-Export raffle entries to a csv file (option on the submission tab of the Google form)

-Run Raffle PowerShell script:


      1. Imports csv files, compares them against a blacklist csv which you can add whomever you want to prevent from winning.
      2. Generates a random number 1 to 1000 for each user, sorts the list by highest number down.
      3. Picks the top X winners (based on input from you)
      4. Sends the winners to a new csv file
      5. Upload the batch file at https://www.paypal.com/invoice/batch



The features of my program are the following:


      • Multiple sculpts & colorways
      • Modularity to choose different costs for keycaps & shipping
      • Customization if requested (I am more than happy to answer any questions / help you adapt it to your needs)
      • Blacklist users
      • Limit amount of time user can win
      • Consolidate invoices if a single user wins more than once
      • Error checking for duplicate entries
      • Error checking for blacklist circumvention
      • Saves an assload of time
      • Free


You have the ability to comb through my code as well to make sure nothing fucky is going on;

Please check it out



If this is your first time running a powershell script, you have to enable your computer to do so.

Then type the following and hit enter:
Set-ExecutionPolicy Unrestricted
It will prompt you with a box.
Yes To All

The RaffleEntries.csv file & blacklist.csv file must be in the same directory as raffle rigger.ps1


I have created the raffle rigger as part of a bounty. When the bounty was issued I realized the problem that many are faced with and saw an opportunity to help enhance the artisan keyboard community and came to realize that I would benefit from this program eventually as I was just beginning to try my hand at sculpting artisans. When I first created the program I set out with the intention to have it adaptable for different creators, this is why it prompts you for your artisan handle and different shipping prices. Many creators have different methods of creating raffles, so I tried to create two different scenarios that I thought would fit the majority of the community members. The first way I will show how to setup is the blind bag raffle. A good example of when you would use this is if you have one sculpt, with 15 keys to give away. When you run the PowerShell script, it prompts you for a few questions;



For this raffle type, a few key fields are required for your RaffleEntries.csv file.


Below are the required fields for the blind raffle entry; meaning you can add more if you would like.

Once you are done with your entries, navigate to the response tab and click export csv

You can either rename this file to RaffleEntries or copy and paste them into the CSV file provided on the GitHub.


The second option for a raffle choice is the multiple sculpt and colorway, I recommend this version as it can save you time by consolidating your forms into one. The idea here is if you had 20 different colorways for 1 sculpt, or 5 different sculpts with different prices. For this example, I am going to assume I have three colorways for my sculpt “apple”.

This is how I would set up my google form checkbox grid, the important thing here is making sure the top row says “Keycap”.

If you decide to run this option, an important thing to note is the names of the individual sculpt have to MATCH the ones on the form so my input would look like this.

The other function the 2nd one has is the ability for the user to signup for all your keycaps with the intent to only buy a limited number. So I could signup for all 20 raffles, and only want to buy 1. as soon as I win, it no longer enters me in for any of the other raffles. Should a user win multiple times, it concatenates their win on the CSV file, meaning you get one invoice per winner so you won’t have to refund any shipping fees for multiple wins.


One Reply to “Raffle Rigger”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.