Releases: eritbh/yuuko
Releases · eritbh/yuuko
0.8.0: Hmm, maybe let's not do that
- API: Added new property
Client#prefix
that replacesClient#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 ofClient#prefix
and will be removed in v1.0. - API: New Client option
caseSensitivePrefix
which can be set tofalse
to enable case-insensitive prefix detection. Defaults totrue
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!
- 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
- 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
- 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
- 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
- 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
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
- API docs have a new design!
ping
command now gets the bot's ping timeabout
no longer queries system commands every time it's run and also gets the bot's ping timeeval
is nowdebug
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)
- As a result, the command knows what context variables for the command are (i.e. you can now use
- 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 nowprefix
- API: Eris has been upgraded from
0.8.1
to0.8.4
- API:
Yuuko#app
is now a thing and caches the results ofbot.getOAuthApplication()
- API: The new client option
ignoreBots
can be set tofalse
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 whenallowMention
is true and the bot is pinged without a command name
0.4.0: "Let's make help harder for API users"
- 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
- 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
- Accepts hex codes without the
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