5.0.1 • Published 5 months ago

discord.js-akinator v5.0.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
5 months ago

license version gzipped size downloads last commit

discord buy me a coffee

Features

  • 🌎 100+ Languages Supported! | Lightning fast translation has been made possible by Google Translate and hard-coded mappings!

  • ▶️ Buttons! | Don't want to type out responses to questions? This package gives you the option to use discord's buttons to easily click your answer of choice!

  • 🎮 Multiple Game Types! | This package will allow you to choose whether Akinator will guess an animal, character or object!

  • 🙋 Child Mode! | Want to filter out NSFW questions? You can choose to enable Akinator's Child Mode to keep your games squeaky clean!

  • ⚡️ Quick & Easy Setup! | This package was built with the intentions of working out-of-the-box. Only one parameter is required at least!

  • 🤖 Slash Command & Message Support! | No matter how your bot receives its commands, you can simply pass in a CommandInteraction or Message and it will work!

Installation

To install this package, simply run the following command in your terminal:

npm i discord.js-akinator

Please Note: The latest release of this package is only compatible with Discord.js v14.

Code Examples

Initial Setup:

const { Client, IntentsBitField } = require("discord.js");
const akinator = require("discord.js-akinator");
const client = new Client({
    intents: [
        IntentsBitField.Flags.Guilds,
        IntentsBitField.Flags.GuildMessages,
        IntentsBitField.Flags.MessageContent
    ]
});

client.login("Discord Bot Token");

client.on("ready", () => {
    console.log("Bot is Online");
});

//Example options for Discord.js Akinator:

const language = "en"; //The language of the game. Defaults to "en".
const childMode = false; //Whether to use Akinator's Child Mode. Defaults to "false".
const useButtons = true; //Whether to use Discord's buttons instead of message input for answering questions. Defaults to "true".
const embedColor = "#1F1E33"; //The color of the message embeds. Defaults to "Random".
const translationCachingOptions = {
    enabled: true, //Whether to cache translations. Defaults to "true". (Recommended)
    path: "./translationCache" //The path to the translation cache folder relative to the current working directory. Defaults to "./translationCache".
};

With Discord.js Akinator, you can choose whether you want to use a slash command, or a message as the input. Here's some quick examples on how to do both!

Using Discord's Slash Commands as Input:

client.on("interactionCreate", async interaction => {
    if (!interaction.isChatInputCommand()) return; //If the interaction is not a slash command, do nothing
    if (interaction.commandName === "akinator") { //If the user sends "/akinator"...
        akinator(interaction, {
            language: language,
            childMode: childMode,
            useButtons: useButtons,
            embedColor: embedColor,
            translationCaching: translationCachingOptions
        });
    };
});

Using a Message as Input:

//IMPORTANT: Make sure to enable the "Message Content" intent for your bot in the Discord Developer Portal!

const PREFIX = "!"; //Your bot's command prefix

client.on("messageCreate", async message => {
    if (message.content.startsWith(`${PREFIX}akinator`)) { //When the user types "!akinator"...
        akinator(message, {
            language: language,
            childMode: childMode,
            useButtons: useButtons,
            embedColor: embedColor,
            translationCaching: translationCachingOptions
        });
    };
});

Contributors

Special thanks to many people helping to make language translation more accurate, refactor code, provide compatibility for new Discord.js versions, and so much more!

Contact Us


5.0.1

5 months ago

5.0.0

1 year ago

4.1.4

1 year ago

4.1.5

1 year ago

4.1.3

2 years ago

4.1.0

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.0.6

2 years ago

4.0.5

2 years ago

4.0.4

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

3.4.5

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

3.4.4

3 years ago

3.4.3

3 years ago

3.4.2

3 years ago

3.4.0

3 years ago

3.3.3

3 years ago

3.4.1

3 years ago

3.3.2

3 years ago

3.3.1

4 years ago

3.2.2

4 years ago

3.3.0

4 years ago

3.2.1

4 years ago

3.2.0

4 years ago

3.1.1

4 years ago

3.1.0

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.1.0

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago