stonebot

Hearthstone Bot for Discord.

tl;dr

Hearthstone Bot for Discord. Features commands for card information and community features.

Longer version

Stonebot is a node.js Discord bot, built using with discord.js and Commando. Hearthstone card information is obtained using the HearthstoneJSON API. Sound processing is done with FFmpeg through the use of node-fluent-ffmpeg.


Commands

Card Information

Stonebot uses a fuzzy search when matching card names and returns the highest scoring result, favoring collectible cards over uncollectible ones. Using @ before <cardName> will search uncollectible cards only.

card

Displays card information.

Format: !text <cardName>
Aliases: c
Examples

image

Displays card image.

Format: !image <cardName>
Aliases: img, i
Examples

gold

Displays golden card image.

Format: !gold <cardName>
Aliases: g, gold-image, goldimage
Examples

art

Displays the artist and full art from the card.

Format: !art <cardName>
Aliases: a, art-image, artimage
Examples

Searches for Hearthstone cards.

Works like Hearthstone collection searching.
General search accross most visible card text in addition to several keywords.
Set keywords: nax, naxx, gvg, brm, tgt, loe, tog, wog, wotog, kara, msg, msog.
Value keywords: attack, health, mana, artist.
Value keywords take the form of <keyword>:<value>.
The artist keyword only accepts text without spaces.
All other keywords use a numeric <value> with range options.
<value> alone means exact value.
<value>- means value or lower.
<value>+ means value or higher.
<value1>-<value2> means between value1 and value2.

Format: !search <terms>...
Alias: find
Examples

sound

Plays card sound in your voice channel. (Usable only in servers)

[soundKind] can be one of play, attack, death or trigger. Optional.

Format: !sound [soundKind] <cardName>
Aliases: snd, s
Examples

json

Displays JSON inormation for card.

Format: !json <cardName>
Example: !json jade golem

Community

quest

Helps find other players looking to trade the Play a Friend (aka 80g) quest.

Makes matches when players share a Discord server and Battle.net server region.
<bnetServer> may be one of americas, na, europe, eu, asia.
Using !quest complete will remove you from the pool of those looking to trade.
Quests expire after 24 hours.

Format: !quest <bnetServer>
Aliases: 80g
Examples

Command Management

groups

Lists all command groups. Administrators only.

The argument must be the name/ID (partial or whole) of a command or command group.

Format: !groups
Aliases: list-groups, show-groups, listgroups, showgroups

enable

Enables a command or command group. Administrators only.

Format: !enable <command/group>
Aliases: enable-command, cmd-on, command-on, enablecommand, cmdon, commandon
Examples

disable

Disables a command or command group. Administrators only.

The argument must be the name/ID (partial or whole) of a command or command group.

Format: !disable <command/group>
Aliases: disable-command, cmd-off, command-off, disablecommand, cmdoff, commandoff
Examples

reload

Reloads a command or command group. Bot owner(s) only.

The argument must be the name/ID (partial or whole) of a command or command group. Providing a command group will reload all of the commands in that group.

Format: !reload <command/group>
Aliases: reload-command, reloadcommand
Example: !reload some-command

load

Loads a new command. Bot owner(s) only.

The argument must be full name of the command in the format of group:memberName.

Format: !load <command>
Alias: load-command, loadcommand
Example: !load some-command

unload

Unloads a command. Bot owner(s) only.

The argument must be the name/ID (partial or whole) of a command.

Format: !unload <command>
Aliases: unload-command, unloadcommand
Example: !unload some-command

Utility

stats

Displays bot statistics. Bot owner(s) only.

Format: !stats

help

Displays a list of available commands, or detailed information for a specified command.

The command may be part of a command name or a whole command name. If it isn’t specified, all available commands will be listed.

Format: !help [command]
Alias: commands
Examples

ping

Checks the bot’s ping to the Discord server.

Format: !ping

prefix

Shows or sets the command prefix. Administrators only.

If no prefix is provided, the current prefix will be shown. If the prefix is “default”, the prefix will be reset to the bot’s default prefix. If the prefix is “none”, the prefix will be removed entirely, only allowing mentions to run commands. Only administrators may change the prefix.

Format: !prefix [prefix/"default"/"none"]
Examples


Make Stonebot Your Friend

Add Stonebot to your Server Join the development Server

Want to add stonebot to your server? I run a public version that you can invite to your server with the button at the top of this section, or the following url:
https://discordapp.com/oauth2/authorize?client_id=181041901225377793&scope=bot&permissions=3197952