Skip to content
Gideon edited this page Feb 12, 2021 · 29 revisions

Discord Commands:

The following commands are used by the bot. The commands below assume that you have not changed the default prefix from $:

Remote Control Module:

  • $click <button>: Clicks the specified button.
  • $setstick <s> <x> <y> <ms>: Sets the stick to the specified position for a set amount of time in milliseconds.
    • Example: $setstick left 10 10 45.
  • $readmemory <offset> <length>: Read memory from specified offset.
  • $writememory <offset> <hex>: Writes memory to specified offset.
  • $getoffset <pointer>: Gets offset from a specified pointer.

Control Module:

These commands require sudo permissions to be granted to the user through the Settings.

  • $detach: Detatches the virtual controller so the operator can use their own handheld controller temporarily.
  • $setcode <code>: Sets a string to the Dodo Code property for users to call via the associated command.
  • $togglerequests: Toggles accepting drop requests.
  • $togglespawns: Toggles accepting item spawns.
  • $togglelayer: Toggles refreshing the layer automatically.
  • $reloadlayer: Refreshes the layer on command.
  • $validate: Validates offsets.
  • $getcoordinates: Returns co-ordinates of current position.
  • $setcoordinates <x> <y>: Teleports the bot to specified co-ordinates.
  • $resetposition: Resets bot to drop coordinates as specified in

Drop Module:

  • $clean: Picks up items around the bot.
    • This command won't work if the configuration AllowClean is set to false.
    • This command may cause the bot to pick up furniture if they are alone on the island.
  • $dropitem (<language>) <requests>: Drops a custom item (or items).
    • Request should be provided as the hexid of the item you want. You can use $lookup to find this using the item name.
    • Some configurations, like uses on tools, can't be changed within the confines of this bot, for this you will have to create an item in NHSE's Inventory Editor and double click its icon to copy the itemhex for use with this bot. You can press Ctrl+I on NHSE's startup screen if you don't have a save to load to still load the Inventory Editor.
    • The number of items that can be dropped using a single command is limited. The default is 7 but this can be changed in your config.json.
      • To request multiple items just put a space between multiple itemhexes.
      • Example: $dropitem <itemHex> <itemHex> <itemHex>
  • $dropdiy <request>: Drops a DIY recipe with the requested recipe ID(s).
    • Request should be provided as the diyid of the item you want. You can find these here.
    • Item count limitations are the same as $drop.

FieldItem Module:

  • $spawnnhi: Spawns item using the attached .nhi files.
    • These can be dumped from the NHSE item editor.
  • $spawnitems: Spawns items using regular hex codes, similar to $drop.

Help Module:

  • $help (<command>): Lists available commands.
    • If a command is supplied, it lists information about that command.

Info Module:

  • $info: Displays general information about the bot.

Island Module:

  • $code: Prints the Dodo Code for the island that was set using $setcode.
  • $visitorcount: Shows how many people are currently on the island.
    • Only shows people who used $join.
  • $visitorlist: Returns a list of all visitors.
  • $join: Registers you as having joined the island.
    • This can be made mandatory before using other commands in the config.json.
  • $leave (<userID>): Registers you as having left the island.
    • Users with sudo access can add a userID as an argument to force users out of the visitorlist.
  • $time: Displays the amount of time you have been on the island.

Item Module:

A list of items with hexes and DIY IDs can be found here.

  • $lookup <itemName>: Gets a list of items that contain the request string in English.
  • $lookuplang <language> <itemName>: Gets a list of items that contain the request string in a specified language.
    • Language is provided in a 2-3 character string, here's a list of supported languages:
      • English: en
      • Japanese: jp
      • German: de
      • Spanish: es
      • French: fr
      • Italian: it
      • Korean: ko
      • Chinese (Simplified): zhs
      • Chinese (Traditional): zht
  • $item <itemHex>: Shows information about an item, including customization options.
  • $stack <itemHex> <count>: Generates a hex with the stack provided stack count applied.
    • Stack count starts at 1, in contrast to NHSE. If you put 10 as count, you will get 10 of that item instead of 11.
    • This bot doesn't check for you whether or not your stack is legal, what the max stack is for the item provided or if it can even be stacked. If a stack count overflows the maximum for that item it should reset to 1.
  • $customize <itemHex> <customizationID>: Customizes the given item and returns a hex with the provided customization option(s) applied.
    • If an item has multiple fields to customize, for example beds with differently colored frame and bedding, simply sum the numbers of each customization option you chose and use the total as the customizationID.
    • A list of customization options can be seen through $item.

Recipe Module:

  • $recipe <recipeName>: Gets a list of DIYs that contain the request string in English.
    • Almost identical in function to $lookup, but for DIYs.
  • $recipelang <recipeName>: Gets a list of DIYs that contain the request string in a specified language.
    • Same languages are supported as $lookuplang.

Villager Module:

  • $injectvillager <internalName>: Injects a villager using the internal name, not the English character name.
  • $villagername <villager>: Looks up the internal name of a villager by their English name.