Skip to content

Releases: eritbh/yuuko

0.8.0: Hmm, maybe let's not do that

29 Nov 17:07
Compare
Choose a tag to compare
  • API: Added new property Client#prefix that replaces Client#defaultPrefix.
  • API (Deprecation): Client#defaultPrefix is now deprecated and will be removed for v1.0.
  • API (Deprecation): Deprecated Client#prefixForMessage(msg). Its purpose was originally to return a prefix based on the message's guild, but this behavior is no longer desirable to me. It now always returns the value of Client#prefix and will be removed in v1.0.
  • API: New Client option caseSensitivePrefix which can be set to false to enable case-insensitive prefix detection. Defaults to true to maintain old behavior.
  • Bugfix: The message handler is now only registered once even if the ready event is emitted multiple times. This was a massive oversight on my part.

0.7.1: Hey, look, a patch version bump!

21 Sep 11:23
Compare
Choose a tag to compare
  • Help command list no longer spits out all commands regardless of whether or not you can use them.
  • Some internal refactoring to make code more readable.
  • Updated sample config and package.json dependencies to be accurate.
    • API: Eris has been upgraded to v0.9.0.
  • The start command defined in package.json now includes --no-warnings as the bot script listens for warnings itself.

0.7.0: An eventful release

17 Jul 15:58
Compare
Choose a tag to compare
  • The client now emits some custom events when commands happen
  • The client also now holds the ready event back until its internal preparation is done, meaning stuff that was previously only made after the ready event is now ready right away with no waiting
  • Logging is no longer done for you. Instead, the new events are expected to be used for that purpose. No more logging opinionation wheee

0.6.0: Required to post this

20 May 20:01
Compare
Choose a tag to compare
  • Running ~help on the live bot will no longer list things that don't make sense
  • API: Command requirements are here! new Command(name, process, { owner: true, custom: () => true })
    • Require users to be the bot's owner or fulfill an arbitrary condition through a custom function
    • Custom functions passed can be asynchronous, letting you do all sorts of custom functionality
    • These checks are carried out separately from actually running the command and can therefore be checked from other places in your code, e.g. the live bot's help command
    • Check the docs for more information
  • All dependencies bumped to latest stable version
  • The handler for the Eris error event no longer displays the whole error object, only the message and stack trace

0.5.3: Prettier on every level

19 May 19:49
Compare
Choose a tag to compare
  • There's now a very short delay between receiving the ~reload command and actually reloading commands, which should prevent the typing indicator from being frozen when reloading goes fast
  • API: New config option, timestamps, to control whether or not you want timestamps in your logs
  • Broke console formatting out into its own npm module, another-logger, which looks significantly better and will eventually be used for more things too
  • Updated commands to internally use async functions
  • Made some more JSDoc comments in the source consistent

0.5.2: Redo all the things

18 Mar 15:25
Compare
Choose a tag to compare
  • New eval commands! Test arbitrary code in JS, Ruby, or Python in a sandbox thanks to the power of microservices. ~rb puts "hi" and friends, see the bot's help command for more information.
  • Roll command has been rewritten with d20.js and now supports roll modifiers! ~roll d20+10 will return a value between 11 and 30.
  • Commands which don't have help information won't be displayed in the command list. This is a temporary workaround for #4 until #12 is merged.
  • About command internally reworked a bit.
  • Internally, replaced request with superagent.

0.5.1: I'm doing PR now

13 Feb 04:17
Compare
Choose a tag to compare
  • about command now has a link to a discord server
  • The bot will now post its server stats to https://bots.discord.pw
  • Less console logs on things

0.5.0: Just do some random stuff who knows

05 Feb 19:18
Compare
Choose a tag to compare
  • API docs have a new design!
  • ping command now gets the bot's ping time
  • about no longer queries system commands every time it's run and also gets the bot's ping time
  • eval is now debug and does a bunch of neat stuff
    • Now outputs correctly if there is an output and a log
    • Resolves promises and edits the message with their resolution value
    • Remove Client.eval as it never should've existed, all that logic is now in the eval command itself
      • As a result, the command knows what context variables for the command are (i.e. you can now use msg, etc. in your eval script)
  • The codebase is now inconsistently indented because I halfheartedly changed to using tabs
  • Reorganized internal file structure (this doesn't cause any changes with the API but it happened)
  • Fixed a couple issues with JSDoc comments
  • API Breaking: The defaultPrefix option in the client constructor options is now prefix
  • API: Eris has been upgraded from 0.8.1 to 0.8.4
  • API: Yuuko#app is now a thing and caches the results of bot.getOAuthApplication()
  • API: The new client option ignoreBots can be set to false to allow your bot to respond to bot messages
  • API: Initializing a command with a possible name of null will make that command run with no arguments when allowMention is true and the bot is pinged without a command name

0.4.0: "Let's make help harder for API users"

21 Dec 18:44
Compare
Choose a tag to compare
  • Help command has a new alias, man, because I'm a nerd.
  • API BREAKING CHANGE: Everything related to command help has been removed from the Command class. Instead, help is now done by setting custom properties on instances of the class and having the help command handle them itself.
  • API: The client now has a new property, mentionPrefixRegExp, which is a RegExp used to test messages for a mention of the bot with it rather than re-creating it every time it's needed.
  • API: The client now has a static property which references itself, which means you can now do const {Client, Command} = require('Yuuko').

0.3.1: Colorful command improvements

11 Dec 03:49
Compare
Choose a tag to compare
  • API: Console output is logged with levels and timestamps, and if chalk is installed, then it is used to color the output
  • Longer commands (mostly those that make external web requests) now set typing indicators ahead of their contents
  • color command:
    • Accepts hex codes without the # prefix
    • Tncludes a wider preview image, and the color is also displayed in the left border of the embed
  • npm command:
    • Always outputs 3 results, even if there is an exact match
    • Is smarter about checking for duplicate links between a package's repository and homepage