Skip to content

Releases: JstnMcBrd/discord-cleverbot

5.1.0

13 Feb 11:04
8d76a8d
Compare
Choose a tag to compare

Added

  • GitHub workflow for validation
  • GitHub action extension to vscode suggestions
  • Placeholder test npm script
  • Explicit "UNLICENSED" tag and other details to package.json
  • Source code button to help embed
  • Report button to error embed

Changed

  • All dependencies to latest versions
  • lastUpdated date
  • Package lockfile to version 3
  • Project node version to 20
  • Sorted package.json with npx sort-package-json
  • TypeScript configuration to be standardized
  • ESLint configuration to use @jstnmcbrd/eslint-config
  • Re-linted whole project

Removed

  • Node 18 requirement
  • Redundant replaceCustomEmojis method - this functionality was added to discord.js in version 14.14.0
  • VSCode Devcontainer setup

Fixed

  • undici vulnerability (from discord.js)

5.0.1

07 Oct 08:10
ad69ec6
Compare
Choose a tag to compare

Added

  • New @typescript-eslint stylistic rules

Changed

  • Improved grammar in the README
  • @colors/colors version
  • discord.js version
  • @typescript-eslint/eslint-plugin and @typescript-eslint/parser versions
  • eslint version
  • typescript version
  • Eslint config to use consistent ESM version instead of default "latest"
  • Eslint config to use new renamed configs
  • Enforced new eslint rules
  • Enforced new discord.js types
  • Miscellaneous code tweaks - no functionality changes
  • Wording in the README
  • Package version number to 5.0.1
  • lastUpdated date

Fixed

  • Invite permissions
  • Dependency vulnerabilities
  • README saying "git pull" instead of "git clone"
  • Inaccurate documentation comments
  • cleverbot-free bad gateway error by updating to 2.0.1
  • Broken API status link in README

5.0.0

17 Jun 21:26
705d32f
Compare
Choose a tag to compare

Added

  • TypeScript
  • ESM support
  • .
  • TypeScript linting
  • .
  • CommandHandler builder class
  • index.ts for command scripts
  • New /invite command with automatic invite link generation
  • Automatic deployed commands sync checking
  • NPM package version number to /help embed
  • Command mentions to all embeds that mention commands
  • .
  • EventHandler builder class
  • Separate folder for event handler scripts
  • index.ts for event scripts
  • .
  • Environment variable management using dotenv
  • Example .env
  • .
  • Separate script for whitelist management
  • Auto-generation for whitelist memory file
  • Parallel promises for faster whitelist channel fetching/validating
  • .
  • Separate script for context management
  • Automatic context generation for all whitelisted channels on startup
  • Automatic context generation/deletion when whitelist is updated
  • Parallel promises for faster context generation
  • .
  • Separate script for thinking management
  • Automatic timeout for thinking storage
  • .
  • Separate script for activity management
  • .
  • New parameters script to store global parameters
  • Default colors for all embeds to use
  • .
  • Separate script to abstract out the logger
  • .
  • .vscode settings and extensions and debugger setup
  • devcontainer setup
  • npm run commands script to deploy commands
  • Node 18 .nvmrc and engine field in package.json
  • .
  • cleverbot-free API status to README
  • Development section to README
  • .
  • JSDoc for most public functions and fields

Changed

  • Moved all source code into ./src folder
  • Reorganized and renamed most files
  • Updated all dependencies to latest versions and resolved all security alerts
  • .
  • eslint to use new flat config (eslint.config.js instead of .eslintrc.json)
  • Simplified eslint rules
  • .
  • /help replies and redundant /whitelist and /unwhitelist replies to be ephemeral
  • .
  • token field to be stored in environment variables instead of config.json memory file
  • Memory files to be stored under user ID instead of username
  • .
  • Whitelist storage to be more efficient
  • Whitelist to store channel objects instead of channel IDs
  • .
  • Context storage to be more efficient
  • Context to store message objects instead of strings
  • Improved context generation
  • resumeConversations to use context instead of fetching messages manually
  • Context length to be limited to 10 messages
  • Context generation to not gather messages from before channel was whitelisted
  • .
  • deployCommands to use official client application command setter
  • .
  • Moved helper methods to new utils folder
  • Replaced isFromUser() with isFromSelf()
  • Replaced doesMentionUser() with doesMentionSelf()
  • .
  • Cleaned up and significantly reduced logging output
  • Logging colors to use type-safe version
  • Improved logging output coloration
  • .
  • Improved fields in package.json
  • Project name to be lowercase (discord-cleverbot instead of Discord-Cleverbot)
  • Cleaned up .gitignore
  • README to be more concise
  • .
  • Embeds to use EmbedBuilders instead of raw objects
  • Replaced string concatenation with template literals
  • User/channel/command mentions to use discord.js mention formatters
  • File path construction to use path.join
  • Discord IDs to use Snowflake type insetad of basic strings
  • All files to use camelCase
  • Improved comments
  • Imports to use standardized alphabetical ordering
  • Promises to use async/await instead of .then().catch()
  • .
  • Typing speed from 6 char/sec to 8 char/sec

Removed

  • config.json memory files
  • .
  • Redundant context generation when new message is received
  • .
  • Redundant reset option for deployCommands
  • .
  • Unnecessary GuildTyping and DMTyping GatewayIntentBits from the client

Fixed

  • Bug where setTimeout methods would crash
  • Bug where emoji replacement would replace innocent underscores and colons

And much more!