We wanted to make the most needlessly complicated thing, so we thought of things and how they could be complicated. Later, we thought it kind of resembled a Rube Goldberg machine, so we called it the RubeGoldberg-Inator
What it does
You send a message that a discord bot picks up, turns to a text file, and uploads via ftp to our server. That server then runs a script that creates a QR code and uploads it to imgbb. The script takes that image url and puts it in a jsonbin. My raspberry pi periodically checks the json bin and fetches the json to look for a new QR code with a python script. The python script runs a c++ script which decodes the QR code and returns the result. With that result, the script calls a Webhook that goes into a special channel in our discord server (linked in the links, go there to test it out).
How we built it
We used discord.js for the bot, python for most of the scripts, and c++ for one of the scripts. Our server is 20.04 ubuntu running on DigitalOcean. We configured the server to keep the on-server python running all of the time and my raspberry pi was configured to run the script that looks for a new qr and sends the message.
Challenges we ran into
Halfway through, we couldn't log into root because the file storing the password hashes was corrupted. We had to make a new server because of that. JSONBin thought our polling the bin every five seconds was spam so it blocked us. We had to contact support to unblock us and changed the polling time to one minute
Accomplishments that we're proud of
-Configuring the server and raspberry pi correctly -getting QR scanning to work with c++
What we learned
Server Config, python scripting, c++ scripting, ftp
What's next for RubeGoldberg-Inator
nothing. it will stay in its current form forever