Skip to content

Releases: en3sis/hans

v2.1.1

08 Feb 12:05
bcf8fb8
Compare
Choose a tag to compare

Patch:

  • Fixes missing /plugin verify command.

v2.1.0

08 Feb 11:58
ac6dce2
Compare
Choose a tag to compare

New plugin: /plugins verify

  • adds a new verify plugin that is enabled by default.
  • on /plugin verify it will ask for the verification role and post a message in the channel.
  • clicking on the Verify button will prompt with a modal.
  • users get a random emoji representing a mood, they'll need to type that for validation.

Screenshots

image

image

image

image

Change Log

  • Updates to Discord.JS 14.13.0 by @en3sis in #69
  • ops: fixes some issues with resolveGuildPlugins by @en3sis in #70
  • Default guild-plugins state by @en3sis in #71
  • chore: removes ephemeral from the /timezone command by @en3sis in #72
  • fix: regex to allow timezones with format Continent/Country_Name by @en3sis in #73
  • fix: adds unit test for timezones by @en3sis in #74
  • Ops/migrations by @en3sis in #75
  • ops: moves tests from mocha to jest, adds redis for cache by @en3sis in #76
  • feat: adds a new /events command by @en3sis in #77
  • build(deps): bump @babel/traverse from 7.22.17 to 7.23.2 by @dependabot in #78
  • feat: changes presentation by @en3sis in #79
  • build(deps): bump axios from 1.5.0 to 1.6.0 by @dependabot in #82
  • chatgpt: max-tokens increases & other improvements by @en3sis in #81
  • feat: adds captcha verification for users by @en3sis in #83

Full Changelog: v2.0.4...v2.1.0

Fix of critical bug for hans:latest

18 Aug 10:46
bbd830f
Compare
Choose a tag to compare
  • Fixes a critical bug with the /timezone command.

Release v2.0.3 - timezone & fixes

14 Aug 14:37
bbd830f
Compare
Choose a tag to compare

💠 Feature:

  • The /timezone command facilitates international coordination on your Discord server. By setting and comparing time zones, members plan activities, and meetings, or just check in at convenient times. Ideal for global communities and teams.

✅ Fixes & others:

  • feat: /twitch command which will fetch and display streamer by @en3sis in #60
  • fix: issue with moderation plugin by @en3sis in #64
  • ops: small improvements gpt coomand by @en3sis in #65
  • fix: fixes the ephemeral props to missing commands by @en3sis in #66
  • bug: interaction.replay -> interaction.editReplay by @en3sis in #67

Full Changelog: v2.0.2...v2.0.3

Release v2.0.2

06 Jun 19:50
6ca6d1a
Compare
Choose a tag to compare

Fixes:

  • Fixes an issue with the interaction.reply

Release v2.0.1

06 Jun 19:29
fd05f1e
Compare
Choose a tag to compare

This update focuses on improving the overall structure and stability of the bot with small features addition.

What's Changed

  • fix: threads plugin by @en3sis in #46
  • feat: free 100 ChatGPT commands per guild (daily reset) by @en3sis in #51
  • ops: docker-compose instructions by @en3sis in #53
  • ops: renames guilds-plugins table to use _, by @en3sis in #54
  • feat: Plugin & Command: /summarize by @en3sis in #55
  • ops: Docker image upgraded 16.13.0 -> Node 18 by @en3sis in #56
  • ops: improves errors & information report by @en3sis in #57
  • feat: persists bot presence, won't rewrite on a restart, real-time updates by @en3sis in #58

Full Changelog: v2.0.0...v2.0.1

Release 2.0.0

08 May 16:15
736db24
Compare
Choose a tag to compare

With this update, we have introduced a major change - each functionality has been transformed into a separate plugin that can be enabled or disabled on a per-guild basis. This allows for greater flexibility and customization options for our users. As new features are added, they will also be implemented as individual plugins.

❇️ New:

  • Migration from MongoDB to Supabase:
    • All functionalities are now plugins and can be enabled or disabled per guild basis.
    • When the bot is started, it fetches and inserts all guilds, plugins, and configurations into the database.
    • New schema for Guilds.
    • New schema for Plugins.
    • New schema for Configurations.
  • Addition of the /ask command for ChatGPT 3.5-turbo: this feature is exclusively available for premium guilds, although each guild can have its own API key to use the functionality.
  • Addition of the /plugins command to configure the bot for each guild.
  • Migration from npm to yarn.
  • Better README.md documentation
  • Improves Docker deployment workflow & configurations
  • Update to Commands & Plugins
  • Discord.JS v14.11.0
  • New Hans logo

🗺️ Roadmap:

  • Commands & Plugins:

    • Allow more configurations for ChatGPT, such as max tokens, model, and temperature, allowing a maximum of X tokens per day per guild, so that even non-premium guilds can use it.
    • Add functionality to the moderation plugin to detect edit/delete/update messages.
    • Add functionality to the moderation plugin to detect links and remove them.
    • Add the giveaway plugin.
  • Bot:

    • Move plugin settings to models that contain all the settings for each plugin.
    • Use absolute paths for imports.

Release v1.1.0

15 Sep 09:30
302108a
Compare
Choose a tag to compare

With the release of the new version, here is the list with some of the main changes & improvements:

❇️ New:

  • Updates to Discord v14.3.0
  • Allows to define Hans's activity from his DB config document.
  • Adds a new (basic) Reddit plugin, allowing you to watch for specific /r and post the latest channel.
  • New /mock command, mocks a string of text based on the famous Sponge-Bob meme.
  • New /moderation->purge that removes an n amount of messages (max 100)
  • New /reddit command for subscribe/unsubscribe your guild to a specific /r
  • New /moderation->sentiment command for dealing with the sentiment analysis plugin (notification channel, enable/disable).
  • Improved the /support command, now has information about how to report bugs or request features.
  • User's guild settings document is now part of the Client object: Hans.guildSettings(id)
  • Bot settings document is now part of the Client object: Hans.settings.

🔅 Improvements & Fixes:

  • Guilds Documents now have a premium, which will allow us to define which guilds can use paid APIs like OpenAI.
  • Prepares the utils for crypto, in the future we want to hash things like API Keys if users need to add their own Key.
  • Changes the way we handle reading & writing plugins configuration.
  • Improved bot pulse functionality, adds more details.
  • Now the invite link can be read from Hans Settings.
  • Fixes some issues with commands permission, still room for improvements.
  • Moves guilds documents to own db (guilds) & collection (global).
  • Uses addChannelOption & addUserOption instead of string options when possible and needed.

⚙️ DevOps:

  • Uses QEMU & Buildx for the multi-platform image build
  • Nightly build will happen every night at 2 AM, tagged as hans:nightly
  • Added a manual build if we need to deploy it before.
  • Adds a .prod deployment manifest for production, deployment.yaml will target nightly releases
  • Allows fetching GitHub API without a KEY for public projects
  • Adds preparation for OpenAI API
  • Adds lodash & node-cron
  • Recommended extensions for contributors.

Release v1.0.1

02 Sep 14:42
865ab50
Compare
Choose a tag to compare

🐞 Fixes:

  • Fixes an issue with MongoDB connection not staying open.
  • Fixes an issue with the k8s deployment file, one env var was missing
  • Fixes an issue with the sentiment-analysis plugin

🆕 New:

  • PR and Issue template

Release v1.0.0 🥳

02 Sep 09:27
Compare
Choose a tag to compare

After many years of using Hans as the pillar of our Discord community, I decided to make it public & open-source it!
Many functionalities and old/guild-specific commands were cleaned out and left everything else to be used as a base.

💎 Features

  • Discord.JS v13.6.0
  • Slash Commands ready!
  • Built with TS
  • Covers main guildEvents (guildMemberAdd, guildMemberRemove, messageDelete, messageUpdate, messageCreate... )
  • Production-ready with easily Docker or K8s deployments.

🗓 Current slash commands:

  • /weather city -> Weather at specific city
  • /about username -> User details
  • /invite -> Hans invite link
  • /support -> Hans support discord
  • /wifu -> Well, you know what it is :P

🔌 Plugins

Moderation:
Sentiment Analysis: Checks message sentiment (positive or negative) and based on the weight, it will notify to a given channel.

Threads:
Creates thread channels. Once a message is created, it will automatically open a thread discussion. This is helpful to keep the channel clean and on-topic (support channels, for example)

Guild member Activity
Can enable a member join/leave channel for activity logs.

🗺 Roadmap

As for the next steps, now that the base it's set, we can start working on improvements and features. The first step will be to open issues (that anyone can contribute to!) to enable guild configuration. Right now, the plugins' functionality can only be done vía DB editing.

Once the core functionality is there, new features will be work on.

👥 Community