Skip to content

Latest commit

 

History

History
73 lines (62 loc) · 4.1 KB

modules.md

File metadata and controls

73 lines (62 loc) · 4.1 KB

Modules

Goshu is very modular, and allows you to simply drop modules into the modules/ folder, where they're automatically loaded at bot start or can be loaded at runtime by bot admins.

To disable any modules, simply disable them with the built-in module control command, delete them, or move them to a different folder.

Default Modules and Commands

  • Modules are represented like so: dice
  • Commands are represented like so: 8ball

User-oriented (modify/remove these to your heart's content)

  • dice: adds d, parsing rpg dice like this: d d6-3
  • dictionary: adds def, definitions provided by wordnic (requires api key)
  • google: adds google and youtube, returns first search result (also a dynamic command module)
  • link: posts the title of posted urls (restricted to youtube videos initially)
  • pokemon: adds pokemon and pokedex, returns random pokemon
  • random_module: adds random
  • suggest: adds suggest, allows users to make suggestions
  • urbandictionary: adds ud, returns definition from urbandictionary

Dynamic Command Modules (remove commands within these module's folders)

  • apiquery: simple json query and replying
  • danbooru: danbooru-based site search
  • google: google search alias commands (also provides user-oriented commands)
  • responses: various commands, simple random responses

Backend (only modify/remove these if you know what you're doing)

  • a_log_display: handles printing and logging of data
  • accounts: handles Goshu's user accounts
  • commands: basic irc commands, things like msg, me, join
  • ctcp_reply: handles the basic CTCP requests - stuff like PING, VER, TIME
  • info: adds info, outputs debugging information for developers
  • invite: makes the bot auto-join any channel it's /invited to
  • list: adds list, lists current commands and help for commands

Dynamic Command Modules

Specific Dynamic Command Module keys and usage instructions

ApiQuery Module

This module loads commands from the modules/apiquery directory; That directory contains a multitude of files, each one providing a single command. The command-files are stored in json, and here are what the different keys do:

  • description: sentence-long string describing the command
  • permission: number representing the lowest permission level requirement required to access the command
  • url: part of the url directly before the encoded user data
  • urlpost: part of the url directly after the encoded user data
  • response: series of lists, representing how the response is constructed from the given json
  • html_unescape: whether to unescape stuff like " and other html-escaped characters in json responses

Danbooru Module

This module loads commands from the modules/danbooru directory, keys:

  • description: sentence-long string describing the command
  • permission: number representing the lowest permission level requirement required to access the command
  • url: base url of the danbooru installation
  • version: if set to "2", uses Danbooru v2 API

Google Module

This module loads commands from the modules/google directory, keys:

  • name: name given to represent site
  • description: sentence-long string describing the command
  • permission: number representing the lowest permission level requirement required to access the command
  • url: the url of the site to match, literally inserted after a "site:" google keyword

Responses Module

This module loads commands from the modules/responses directory, keys:

  • description: sentence-long string describing the command
  • permission: number representing the lowest permission level requirement required to access the command
  • initial: string to process before getting randomised string
  • 1, 2: list of strings to randomly pick from and process
  • 1pre, 1post, 2pre, 2post: string to add to the beginning/end of every string in given list
  • 1: response list used when no argument is given
  • 2: response list used when argument is given