Skip to content

4.0-alpha.3

Pre-release
Pre-release

Choose a tag to compare

@retrixe retrixe released this 03 Jun 13:13
· 24 commits to main since this release
08bb354

🎉 4 years later, but here we are!

This release delivers a bunch of changes under the hood:

  • The bot has been migrated to Dysnomia, a fork of Eris that is more actively maintained.
  • All dependencies have been updated to their latest versions.
  • Prettier is now used for code formatting across the project.
  • New commands include /ai for text completion using OpenAI, /google for searching Google and /temperature for converting temperatures between units (credit: @0xVR)
  • /currency now uses a more accurate value for SYP (Syrian Pound) and is more user-friendly (credit: @NixxoNgames)
  • The Node.js version requirement has been raised from 12 to 24 (doubled!)
    This allows us to use the built-in fetch API, TypeScript support and watch mode.
  • Trivia lists have been moved into the git tree for easier management.
  • /renameemoji has been added as an alias for /editemoji.
  • /ocr now supports replying to messages, allowing users to extract text from images more easily.
  • /about makes it clear that IveBot 4.0 is the preferred version of the bot, and that 3.0 is no longer supported.
  • /creationtime has been fixed and is no longer broken, along with many other bug fixes.

Due to IveBot 4.0 supporting newer Discord features such as threads, it is now the preferred version of the bot (despite being unreleased). IveBot 3.0 is no longer supported and will not receive any updates or bug fixes, since it is practically unusable with modern-day Discord and I don't have the resources to continue maintaining it.

In view of this situation, moving forward, v4.0 development is being streamlined so that it can be released in a more timely manner, with many features being moved out of its scope. I expect the next version will be v4.0 itself, mostly with code refactors under the hood and no additional features.

Upgrading from 4.0-alpha.2

You should delete the triviaLists/ folder at the top level, if you created it manually in an existing setup. This is because trivia lists have been moved into the git tree for easier management at src/data and do not need to be added manually now.

Major Changes

  • Enable Prettier across the project: 67d3e0b
  • Partially format bot with Prettier, update /about: 585cba1
  • Remove node-fetch in favour of built-in fetch: 00cd3a2
  • Use Node.js 24 TypeScript support and watch mode: d7d2f34
  • Use ESLint v9 in main bot: 88d06ae
  • Use ESLint v9 + Prettier in dashboard: 3386f85
  • Update all dependencies excl ESLint: 7ece7e4
  • Migrate to Dysnomia from Eris: 5554e03

Minor Changes

  • Move graphql-schema-linter into dashboard: fdbcb35
  • Better cur usage (#54): 63211c7
  • Move trivia lists into git repository: 1b3e521
  • fixed syp value in currency command (#50): 261eac7
  • Add /renameemoji alias to /editemoji: 09e375f
  • Add /google, embed GraphQL schema in GQL server: 94fbe6e
  • Add model/temp params to /ai, track user IDs: 51330ab
  • Add new /ai command using OpenAI text completion: c202e0f
  • Support replying with /ocr, fix negative /temp: d6d35f7
  • Add /temperature, move /calc and update /help (#38): 8fb9aba

Patches

  • Deduplicate various functions: e1366d1
  • Use Set for tracking evaluated messages: 0817a65
  • Fix /creationtime being completely broken: 7031087
  • Enable multiple ESLint rules: a883d3d
  • Update README and fix ESLint VSCode: 3298694
  • Remove unneeded ESLint build ignore in dashboard: 36b0c87
  • Fix broken re-eval on edit: 832dcc1
  • Create src/data folder to store future datasets: b5008e3
  • Enable some ESLint rules, use TSConfig bases: cabec1c
  • Update all dependencies: 396423a
  • Fix /trivia help: b7060fd
  • Fix manageEmojis permission: bd980a5
  • Update all dependencies: 9b532f2
  • Update Dysnomia, fix breaking attachment change: a7e1248
  • Fix SYP value broken due to insane inflation: ba23bf6
  • Fix /av for people with no role: fd4eace
  • Use OpenAI's davinci model by default: d6d7fd4
  • Fix /namemc when username is invalid: f04028a
  • Fix SYP value being incorrect (take 2): 54bf3c9
  • Fix syp value (#52): 27f682e
  • Fix late removal of gunfight in rare instances: 7575965
  • Upgrade to Apollo Server v4, update ESLint: 982f2b1
  • Upgrade dependencies, fix /creationtime: c1c6b03
  • Make /remindme -c less unwieldy, fix /suppress: debb93a
  • Fix issues with muting and threads, broken nmc: db800be
  • Replace Input with TextField in dashboard: d021edc
  • Update dependencies, update to MUI v5: 3c956c9
  • Update dependencies: 3e63e33
  • Update Eris for text-in-voice support: e547402
  • Fix 4.0-alpha.2 regression of broken kick/ban DMs: b5a4b26
  • Bump next from 12.0.8 to 12.0.9 in /dashboard (#41): 73d7274
  • Update Next.js, Apollo server, fix ESLint, errors: a790dba
  • Bump nanoid from 3.1.25 to 3.2.0 in /dashboard (#39): 9df20e1
  • Bump node-fetch from 2.6.1 to 3.1.1 (#40): a73c35c
  • Fix /temperature parsing: 5ee7974
  • Edit regex for /temperature to allow decimals: 868fb9b
  • Update Eris to version with timeout: f5f99d0
  • Fix commands in DMs, yarn dev script: 8d299c2
  • Bump next from 11.1.1 to 11.1.3 in /dashboard (#37): 8e43ce0
  • Fix some TODOs, register slash commands on ready: f690a4c