- Added know 'er special. I haven't killed her and it's 2022 lmao.
- Finally updated npm packages lmao
- Added server count,
statsalias to Version command - Added Min Min and Steve to Smash
- Haruka collects function usage information
- I'm planning on unplugging her, but I wanna see how many servers actually use her before I do ;(
- Fixed dad.coffee always failing
- Pokémon
- Occasionally, searches with the "0" character would return unexpected results. This has now been fixed.
- Dab
- Dab now catches more variations on the word "dab"
- GitHub
- User Agent changed to something meaningful
- Smash
- Add Byleth to Smash
- Change GitHub UA to something meaningful
- Add Byleth to Smash
- New: Edits
- Check out what your friends said before they edited their message.
- Ping
- Ping is now rounded correctly.
- Smash
- Terry's info is displayed correctly.
- WolframAlpha
- Tables are a equally but differently ugly.
- Version
- Lists the number of functions and names them.
- Functions
- Edits
- Retrieves a message's edits. Expose your friends.
- Version
- Lists the number of functions and names them.
- WolframAlpha
- Uses tables generated by tableToAscii
- Ping
- Rounded to 3 decimal places
- Edits
- Helpers
- List helper class, maybe one day we'll stop sinning. (Line 90 onwards of main.coffee)
- tableToAscii helps format Grid WolframAlpha results
- UMD-ified List and Relative (because they're universal)
- package.json
- Bumped to 3.1.0
- Got rid of 8 vulnerabilities, yay :/
Note: The three probably doesn't mean anything to you.
- New: WolframAlpha
- Query the world's information with Haruka's
-h wafunction!
- Query the world's information with Haruka's
- Smash
- Now denotes whether a character is DLC or not.
- Updated help data
- Added Hero and Banjo-Kazooie metadata.
- Ping
- Now shows 3 numbers, WebSocket ping, Reaction time, and Delivery. This may be more confusing but I digress.
- Dev
- Added
fetchhelper function - Switching from
config.jsonto.env- This is a breaking change, which constitutes bumping the major version number.
- Added
- Help
- Help would refuse to show the detailed help list when asked to. I'm still not sure why, but this has been fixed.
- Smash
- Smash uses the FrannHammer API for determining whether frame data was available. The endpoint has since changed.
Note: The three probably doesn't mean anything to you.
- New: WolframAlpha
- Query the world's information with Haruka's
-h wafunction!
- Query the world's information with Haruka's
- Smash
- Now denotes whether a character is DLC or not.
- Updated help data
- Added Hero and Banjo-Kazooie metadata.
- Ping
- Now shows 3 numbers, WebSocket ping, Reaction time, and Delivery. This may be more confusing but I digress.
- Dev
- Added
fetchhelper function - Switching from
config.jsonto.env- This is a breaking change, which constitutes bumping the major version number.
- Added
- Help
- Help would refuse to show the detailed help list when asked to. I'm still not sure why, but this has been fixed.
- Smash
- Smash uses the FrannHammer API for determining whether frame data was available. The endpoint has since changed, breaking older versions of Haruka's Smash function.
- Pokémon
- Now treats leading zeroes as expected (
-h pkmn 001brings up Bulbasaur)
- Now treats leading zeroes as expected (
- Smash
- Hotfix: Do not search by series. This fixes a problem when searching for "palutena", which is codename for the Kid Icarus series, bringing up Pit instead of Palutena as expected.
- Short help aligned properly. I sincerely apologize for triggering anyone's OCD.
- Version
- Added relative time. Tells you how long ago Haruka was started.
- Smash
- Search for any character in Smash Ultimate. Not much info is returned, but I'm working on it!
- Manga
- Search for manga just like with
anime
- Search for manga just like with
- Anime
- For a given show, Anime will now show you the following:
- Alternate names:
- "Kono Subarashii Sekai ni Shukufuku wo!" → "Konosuba"
- "Seishun Buta Yarou wa Bunny Girl-senpai no Yume wo Minai" → "AoButa", etc.
- Episode count
- Airing status
- Whether the anime is completed, currenty airing, about to be, or cancelled.
- Next episode (when applicable)
- When the next episode is airing, if applicable.
- Relative dates such as "in one week", "tomorrow", etc.
- Score
- A weighted average score of user ratings.
- Alternate names:
- For a given show, Anime will now show you the following:
- Owo
- Replies to more variants
- Updated
README.mdfunction count to be correct. - Anime
- Now shows the weighted score, number of episodes, status, and next airing time for any given anime.
- Next airing time is calculated via a helper located in
/src/helpers/relative.coffee
- Dab
- If the :rin_dab: emote exists in any server, react with it.
- Help:
- Updated RegExp to accept the empty string
- Main:
- Updated the fallback function to disregard the empty string, since Help's RegExp accounts for that.
- Pokémon
- Fixed a critical bug that caused Haruka to silently crash. Bug caused by Pokéapi returning an HTML-formatted 404 when Haruka expected JSON, causing
JSON.parseto throw an unrecoverable error.
- Fixed a critical bug that caused Haruka to silently crash. Bug caused by Pokéapi returning an HTML-formatted 404 when Haruka expected JSON, causing
- Say
- Dead simple: just disableEveryone. No need for role management.
- Someone
- Only allowed to use
-h someoneif the user is allowed to mention@everyone.
- Only allowed to use
- owo
- Has a 1 in 3 chance of replying with "what's this" or some variant of it
- Who up
- Replies to sadbot
Haruka’s now a module with a simple API. See her documentation.
- Kick
- Does what you expect: eject people from a server.
- Health
- Sends you tips to improve your bodily health.
- Ping
- Haruka now replies to "Awoo!", "uwu", and "owo" (case insensitive)
- xkcd
- Fetches xkcd comics, yay!
- Anime
- Looks up info for an anime, you weeb.
Haruka’s now a module with a simple API.
- Adde CoffeeScript as a
devDependency - A buttload of type definitions for JSDoc
- Kick
- Does what you expect: eject people from a server.
- Health
- Sends you tips to improve your bodily health.
- Ping
- Haruka now replies to "Awoo!", "uwu", and "owo" (case insensitive)
- xkcd
- Fetches xkcd comics, yay!
- Anime
- Looks up info for an anime, you weeb.
- Version's embed footer now defaults to
discord-haruka, soundefinedshouldn’t show up.
- About & Version
- These functions now use beautiful RichEmbeds.
- Version now prints uptime.
- Pokémon
- Embed will now show Movepool size, Abilities, and Base Stats
- Ping 🏓
- Now tells you how long it took Haruka to respond.
- Using "Ping", "beep", or "ding" now have their own responses.
If a Haruka command contains dab, she won't run that command. This has now been resolved.
- About & Version
- These functions now use beautiful RichEmbeds.
- Version now prints uptime.
- Pokémon
- Rewrote entire function (lol)
- Embed will now show Movepool size, Abilities, and Base Stats
- Ping 🏓
- Now tells you how long it took Haruka to respond.
- Using "Ping", "beep", or "ding" now have their own responses.
- config.json
- Added
aboutfield. This is what’ll be displayed when-h aboutor-h versionis called. Seeexample-config.json.
- Added
- package.json
- Added
npm run watchandnpm run servefor quicker development. Now I don’t neednotes.md, so that’s been deleted.
- Added
If a Haruka command contains dab, she won't run that command. This has now been resolved.
- Reverse
- Use
-h reverseto reverse some text.
- Use
- Someone
- Added options for choosing members that are
online,offline,idle, anddnd. The-h @someonefunction without any arguments now looks for online users by default.
- Added options for choosing members that are
-h say @everyoneand-h say @herewill no longer mention everyone.- The
-h purgefunction will now only delete up to the last 100 messages as per the Discord API.
- Abusing
-h say @everyoneor-h say @herein a certain server will kick that user. - Reverse
- Use
-h reverseto reverse some text.
- Use
- Someone
- Added options for choosing members that are
online,offline,idle, anddnd. The-h @someonefunction without any arguments now looks for online users by default.
- Added options for choosing members that are
- Purge
- Limit is now 100, inline with Discord’s default limit.
Changes:
- About
- Added some more information.
Killing bugs:
- Purge
- It works now. 🎉
- About
- Added some more information.
- Help
- If
<FunctionObj>.hiddenis truthy,<FunctionObj>.shortcan be left undefined.
- If
- Invite
- Removed the need for
Haruka.config.client_id
- Removed the need for
- Purge
- It works now. 🎉
config.client_id isn’t needed, so it’s been removed from example-config. Leaving it in there won’t make a difference, but it’s deprecated.
- Uncaught errors now throw print their stack traces.
Killing bugs:
- Purge: Users must now have relevant permissions before purging messages.
- Dad: No longer causes an infinite loop in DMs.
- Main.coffee:
- Uncaught errors now print their stack traces.
- Purge
- Users must now have relevant permissions before purging messages.
- Dad (Special)
- DM'ing Haruka causes an error loop to occur, fixed with a single
?, another reason to love CoffeeScript.
- DM'ing Haruka causes an error loop to occur, fixed with a single
Four new functions, one new special:
- Someone function
- Use
-h @someoneto mention a user chosen at random.
- Use
- Emote function
- Manage server emotes and emojis with
-h emote
- Manage server emotes and emojis with
- Now function
- Get the current UTC time with
-h now
- Get the current UTC time with
- Purge function
- Delete messages in bulk using
-h purge
- Delete messages in bulk using
- Dab special function
- Reacts with a dabbing emote if you say "dab" or "dabbing" in a certain server.
Note: Haruka.version and Haruka.dev have been moved to config.json
- Someone function
[2018-07-20]: Created someone function, use-h @someoneto mention a random user, offline or online.
- Emote function
[2018-07-21]: Manage server emotes and emojis with-h emote.
- Now function
[2018-07-28]: Get the current UTC time with-h now
- Dab Special function
[2018-07-28]: Reacts with a dabbing emote if you say "dab" or "dabbing" in a certain server.
- Use
npm run debugas a shortcut fornode --inspect dist/main.js. - Added bug report issue template.
- Moved
versionanddevtoconfig.json
Killing bugs:
- Fixes Haruka’s Dad special. This special would throw an error and wouldn't run, which has now been resolved.
Three new functions, one new special:
- Aesthetic function
-h ae <text>turns text into wider, more aesthetic text.
- Version function
-h versionprints out Haruka’s current version, as well as the number of functions she has available.
- Restart function
- Use
-h restartto restart the Haruka instance. User must be in theopslist.
- Use
- Dad special function
- If a message starts with "I’m" (or something like it), Haruka has a 1 in 10 chance of sending a sarcastic reply.
- Halt function
[2018-07-01]: Created function: Users inopsinconfig.jsoncan run the-h haltcommand to halt Haruka.
- Version function
[2018-07-03]: Created hidden function:-h versionprints out Haruka’s current version, as well as the number of functions she has available.
- Play function
[2018-07-05]: Created function:-h play <url or id>plays YouTube videos. Code could be better written.
- Aesthetic function
[2018-07-14]: Created function:-h ae <text>turns text into wider, more aesthetic text.
[2018-07-01]: Changed activity toWatching Hentai | -h helpbecause I think I'm clever.[2018-07-04]: Cleaned up thepkmnfunction.[2018-07-14]: Removed theplayfunction from being added to Haruka, prefixed with an underscore.
Added two new functions:
- GitHub function
- Retrieves information about a GitHub repository. Syntax:
-h github <user/repo>
- Retrieves information about a GitHub repository. Syntax:
- Kanji function
- Looks up info about a Kanji character. Syntax:
-h kanji <kanji>
- Looks up info about a Kanji character. Syntax:
Created Special functions, which are functions that listen to every message, used for only special circumstances (i.e., making an April fools prank, writing joke replies, etc).
Started: 2018-06-23
-
GitHub function:
[2018-06-24]: GitHub function: Retrieves information about a GitHub repository. Syntax:-h github <user/repo>[2018-06-25]: Added.catchstatements[2018-06-25]: Added stargazers, forks, and issues counter
-
Kanji function:
[2018-06-25]: Kanji function: Looks up info about a Kanji character. Syntax:-h kanji <kanji>
-
Special functions:
[2018-06-26]: Special functions are functions that listen to every message, used for only special circumstances (i.e., making an April fools prank, writing joke replies, etc).[2018-06-26]: Added README for Special functions.
-
Everything:
[2018-06-25]: Addedexample-config.jsonand included it in the README.[2018-06-25]: Standardized Regexes[2018-06-26]: Added boilerplates
- Pokémon function:
[2018-06-24]: TheRichEmbednow displays data inline.
- Help function and each function's
module.exports:[2018-06-25]:helpin each function'smodule.exportsnow has two properties,shortandlong.shortappears in-h help, andlongappears in-h help <fn>
- Config function:
[2018-06-26]: Removed_configfunction, as it wasn’t being worked on.
aka: Haruka’s First Release
Create a config.json file at root as described in the README. Then, start Haruka by running either npm start or node dist/main.js.
Commands:
-h 8ball: Answers any yes or no question.-h about: General stuff about Haruka.-h help: Returns a list of all the commands, much like this one.-h invite: Replies with a URL to invite Haruka to other servers.-h pfp: Return a user’s profile image as a URL-h ping: Replies “Pong!”-h pkmn: Gets information about a Pokémon.-h say: Replies with whatever you tell it to.