Misanthropic Petrichor is an attempt of an implementation of Cards Against Humanity in Discord. It is coded in JavaScript using the Discord.js library. This implementation is not supported or endorsed by https://cardsagainsthumanity.com/.
Private message card selection
Reactions-based Czar card selection
Displaying of names of who's the nastiest after a Czar picks
Available pre-installed decks
In-Discord game configuration
This game is fully automatic and requires no commands to be input during gameplay.
Clone or download this repository and run it remotely on your server. Please note that you require the minimum Node version 10.1.0 to run this bot.
I strongly recommend using PM2 (http://pm2.keymetrics.io/) as the process manager to keep this bot running smoothly (hopefully) on your server.
You will also need to create a bot user on Discord and add it to your server. I suggest reading this guide: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token
You have to install Discord.js through NPM, NodeJS' package manager to run this bot. For help in installing Discord.js, kindly visit: https://discord.js.org/#/.
Please use Discord version 11.6. Versions 12 and above currently do not work.
Other packages used by this module (such as FileSystem) should already be installed by default with NodeJS.
There is only one configuration file for this bot: config.json
. Edit it accordingly to suit your needs. It should be pretty self-explanatory, I hope. There should also be multiple channel IDs for the chat and for the game.
To add new cards, plop them into the cards folder. Blanks (where the white cards are supposed to fill in the content) can be indicated by a series of underscores (minimum 2) in the black card decks.
Each card is to be separated by a newline.
Refer to the current examples if you need any.
Suppose you have a black card like "make a haiku" which requires three cards. To indicate this to the bot, append square parentheses at the end of the card, with a semi-colon separating two numbers. For example, [3;2]
would tell the bot to assign 2 extra cards to the players that round, while they have to pick three cards.
Bot commands are not controlled by permissions as of the latest version. Do c!help
in Discord for a list of commands as well as a document detailing how to change the card decks, max players, score to win, etc.
Document for command-based configuration: https://docs.google.com/document/d/1IOAMHEbOiyRQXrT4d6DHgc31pI-Dh2jvZXrNu2LvyZo/edit?usp=sharing
I'm reachable through Discord, Twitter, and email.
Discord: ChocoParrot#8925
Twitter: @ChocoParrotFox
Email: [email protected] (I don't check this often)
If you need to contact me for anything, Discord is probably the best way.