Created with discord.js.
An innovative Bot for playing Tic Tac Toe on Discord!
"Discord TicTacToe" is a self-hosted NodeJS bot which allows you to play the popular TicTacToe game on Discord.
Invite your friends or play against our robot, a fearsome opponent. Type !ttt
to challenge someone else and use reactions to play, so simple!
Works out-of-the-box, no configuration needed.
If you have a problem when using the bot, or you want to propose a new feature, feel free to open an issue.
Have fun!
Installation
Before installing the bot, you need to create your own Discord Application. Then, you can install the bot via Docker or npm (check below!). If you are not a programmer, I recommend you to opt for Docker because its the easiest solution.
The bot works out-of-the-box. Otherwise if you want to configure it, check config.example.json file in the config folder.
Create a file called config.json
to change default options.
⚠️ Make sure your Discord bot has these permissions in all channels where games can be played:
"Add reactions", "Manage messages", "Read message history", "Send messages", "View channel"
Running via Docker
- Make sure to have Docker installed.
- Pull the latest image from DockerHub:
docker pull utarwyn/discord-tictactoe
- Start the Docker container by providing Discord API Token:
docker run --name tictactoebot -e TOKEN=YOUR_TOKEN utarwyn/discord-tictactoe
- Add
-d
option to run the bot in the background.
You can also pass others options with-e OPTION_NAME=option_value
. - Use the option
-v $(pwd)/config/config.json:/app/config/config.json
to load a custom config file.
Running via Node.js
- Check with
node -v
that you are running at least Node.js 14.x. - Install the project from npm:
npm install discord-tictactoe
oryarn add discord-tictactoe
- Use as an independent bot:
const TicTacToe = require('discord-tictactoe'); new TicTacToe({ language: 'en', command: '!ttt' }) .login('YOUR_BOT_TOKEN') .then(() => console.log('TicTacToe bot is ready to be used.'));
-
OR use it in your own bot:
const TicTacToe = require('discord-tictactoe'); const Discord = require('discord.js'); const client = new Discord.Client(); new TicTacToe({ language: 'fr', command: '-ttt' }) .attach(client); client.login('YOUR_BOT_TOKEN');
-
OR use it with a custom command handling system:
const TicTacToe = require('discord-tictactoe'); const Discord = require('discord.js'); const client = new Discord.Client(); const game = new TicTacToe({ language: 'de' }) client.on('message', message => { if (message.content.startsWith('-tictactoe')) { game.handleMessage(message); } }); client.login('YOUR_BOT_TOKEN');
✨
Using slash command Want to play TicTacToe with a slash command?
Follow this detailed guide to configure the module to use it! (you must use version 2.2+)
License
"Discord TicTacToe" is open-sourced software licensed under the Apache-2.0 license.