Pac-Man Bot for Discord
Play the best chat games for Discord: Pac-Man, Uno, Hangman, Pets and more! Works in a server with friends or in direct messages with the bot.
The objective is to bring the most enterntainment to you and your group, with the least amount of hassle and spam possible.
Features the following games:
- Pac-Man: Turn-based controls, arcade-like ghost behavior and a global leaderboard: The original PacManBot game.
- Wakagotchi: Enjoy caring for a pet in a Discord-based tamagotchi clone.
- ReactionRPG: Battle monsters and become stronger, or challenge your friends to battle - Enjoy this simple chat RPG!
- Uno: Play with up to 10 friends and bots in the classic Uno card game.
- Hangman: Everyone has to guess the random word, or a word chosen by you!
- Tic-Tac-Toe, Connect Four: Challenge your friends or the bot itself.
- Minesweeper: A basic rendition of minesweeper using the new spoiler feature.
- Rubik's Cube: Attempt to solve a real cube in chat form. Seriously.
The full project documentation can be found here.
Running your own instance of Pac-Man Bot
If you feel like the public bot doesn't fit your needs, you can host your own Pac-Man bot. For hosting, you will need to either dedicate a machine to keep it running, or use a paid VPS service such as DigitalOcean, which I use.
First, install the .NET Core runtime here.
Once that's installed, you will need the bot's compiled files. If you're on 64-bit Linux and want to run the latest version, you can clone the linux-release branch. If you're on a different system or would like to maintain and run your own fork, please refer to "Compiling Pac-Man Bot" below.
Make sure that the files found in bin/ (
contents.json) are in the same folder as the rest of the bot's compiled files.
Then, you'll need to set-up a Discord application for the bot to attach to. For this, you'll need to go to the developers page, create an application, give it a name, and add a bot to it in the Bot tab. Make sure to give the bot a name and avatar, too.
Once your application's ready, copy its token and put it as the value for
discordToken in your
Finally, you can run the application from the
Pacman.dll file. In Linux, you'd first give it permission to run with
chmod 777 Pacman.dll, then you just do
Congratulations on your new bot! To invite it to a server you own, go to its application's OAuth tab. Select the
bot scope type, and any predefined permissions you'd like. You can then copy and use the generated invitation link.
To further configure your instance of the bot, you can see all the variables you can add into your
config.cs in BotConfig.cs.
Importantly, note that the bot uses many custom emotes throughout its commands and games. To be able to use and display all these emotes, your instance of the bot needs to be in the Pac-Man Bot server, where the emotes are located; I'll gladly add it there if you ask. Otherwise, refer to the "Using different emotes" section below.
Compiling Pac-Man Bot
Should you want to maintain a custom fork of Pac-Man Bot, it's very simple.
First, you'll need to add the NuGet source for the Discord.Net library, for the project to use. An IDE such as Visual Studio would help you with this. The source link is https://www.myget.org/F/discord-net/api/v3/index.json
To compile the bot, you'll need to install the .NET Core SDK here. In Windows, Visual Studio should install it for you.
With .NET installed, you run a command such as this one:
dotnet publish PacManBot.csproj --runtime %RUNTIME% --configuration Release --self-contained
%RUNTIME% is the system you'll be building for, like
win-x64. For a Raspberry Pi, use
linux-arm (you can't build the bot on a Pi, but you can run it on one).
The command will generate a
netcoreapp2.0/%RUNTIME%/publish/ folder in the target folder of the project's active configuration. The self-contained program will be inside.
Using different emotes
I recommend using my own copies of the emotes in the Pac-Man Bot server, which your bot can join if you ask.
If you instead want to use your own copy of the emotes, here are the steps:
- Grab the emote images from the _Resources/Emotes/ folder.
- Upload them to a Discord server that your bot has access to.
- Obtain all of their codes. You can do this quickly using the bot's 'emotes' developer command.
- Modify your
src/Constants/CustomEmoji.csfile with all the new codes.
- You can then build the bot again and test if the emotes are displaying correctly.