1.0.3 • Public • Published

    Discord TicTacToe logo

    An innovative Bot for playing Tic Tac Toe on Discord!
    Created with discord.js.

    Quality Gate Status npm Docker Build status License


    "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! 🥳


    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

    1. Make sure to have Docker installed.
    2. Pull the latest image from DockerHub:
      docker pull utarwyn/discord-tictactoe
    3. Start the Docker container by providing Discord API Token:
      docker run --name tictactoebot -e TOKEN=YOUR_TOKEN utarwyn/discord-tictactoe
    4. Add -d option to run the bot in the background.
      You can also pass others options with -e OPTION_NAME=option_value.
    5. Use the option -v $(pwd)/config/config.json:/app/config/config.json to load a custom config file.

    Running via Node.js

    1. Check with node -v that you are running at least Node.js 14.x.
    2. Install the project from npm:
      npm install discord-tictactoe or yarn add discord-tictactoe
    3. Use as an independent bot:
      const TicTacToe = require('discord-tictactoe');
      new TicTacToe({ language: 'en', command: '!ttt' })
        .then(() => console.log('TicTacToe bot is ready to be used.'));
    4. 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' })
    5. 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')) {

    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+)


    "Discord TicTacToe" is open-sourced software licensed under the Apache-2.0 license.

    GitHub @utarwyn  ·  Twitter @Utarwyn


    npm i tresenrayade1ly4s0ojalanoencuentresestoxd

    DownloadsWeekly Downloads






    Unpacked Size

    75.6 kB

    Total Files


    Last publish


    • 1ly4s0_