3.1.1 (2022-06-13)
Bugfixes for the previously released automated event announcement feature
- Events failing to import if the description was missing on Notion
- Weekly event announcement message formatting issues
3.1.0 (2022-06-03)
A minor release to assist the community team with event announcements
- Automated event announcements
- Two hours prior to an event, an automated announcement will be sent in #announcements by the bot, notifying those with the Event Announcements selfrole
3.0.0 (2022-05-16)
A major release that features a significant internal refactor and a small number of behind-the-scenes changes.
- Weekly event automation
- Once a week, all events from the internal Leyline calendar on Notion will be automatically imported to Discord and announced in the server announcements channel
- Improved logging
- Bot logs are now stored in local files to improve the developer experience
- Internal software changes
2.9.1 (2022-03-23)
A minor update to address some small QoL issues.
inspect
command now shows the target user's Leyline email and Metamask wallet address, if connected
awardgp
command result embed formatting improperly, sometimes causing the command to not work- Embeds for other commands and events being formatted improperly
2.9.0 (2022-02-20)
This update includes several QoL changes and bug fixes. Most changes are targeted at the automated drop system for live events.
For the purpose of these release notes, "awardal commands" refers to the command trio awardnft
, awardgp
, and poap
.
awardgp
command for server staff members to award Good Points straight from Discord- Two subcommands:
channel
anduser
(very similar in practice toawardnft
) channel
subcommand:- Automatic Good Point drops during live events
- Requires an
event-name
parameter which will be displayed in the attendee's permanent GP ledger - Supports 0-5 mentors with a separate mentor GP input
- Default attendee GP is 500, default mentor GP is 1000
user
subcommand:- Manual Good Point awardal to individual users
- Requires a
ledger-message
which will be displayed in the user's permanent GP ledger
- Two subcommands:
poap load
now displays the number of codes after loading a codes file
- Awardal commands that include a Pre-Drop Summary now display a more detailed list of users eligible for drops
- Ineligibility reasons are included in this summary
- The Post-Drop Summary for awardal commands now includes three fields for the following categories:
- Users who successfully received an award
- Users who unsuccessfully received an award (programmatic error)
- Users who were ineligible to receive an award (repeat of the previously sent pre-drop summary)
- Improved handling of POAP codes during the loading & distribution processes
- Embeds not being sent during certain commands, notably
poap drop
- #good-acts submission analysis not being performed for valid submissions
- Rare cases of valid #good-acts submissions being automatically rejected for invalid attachment type
ban
command not logging properlypoap load
command indefinitely waiting for a codes file (now stops waiting after 20sec)- Cached files being deleted during new releases
2.8.0 (2022-01-21)
Introduces POAP Drop Functionality
poap
command for server staff members to load & initiate a POAP drop
2.7.0 (2021-12-20)
Lays the foundation for "Community Claim Events"
event
command for server staff members to initiate an NFT drop event
2.6.0 (2021-12-11)
This update features many quality of life changes, from bug fixes to the implementation of Discord's new slash command autocompletion feature. Most notably, however, is the introduction of Good Acts Falsification Reports. This new feature will send all photos posted in #good-acts to Google's Cloud Vision API, where they are rapidly compared with billions of other images across the web. Within a matter of seconds, the results are sent back to @Leyline, processed, then nicely presented as a "Falsification Analysis" embed, sent in the original submission's thread. The purpose of this feature is to significantly improve the moderation team's ability to detect fake #good-acts submissions by removing the manual search process.
- Good Acts submissions Falsification Analysis
- All new good-acts submissions will be analyzed by AI-driven image software
- Every submission will receive a falsification report from the @Leyline bot in the submission's thread
- This falsification report will be referred to by moderators during the approval process
tag
command autocompletion- When filling out the
tagname
option, a list of autocompleted options will appear- These correspond to existing tags
- This feature also autocompletes tag aliases
- As always, a full list of tags can be viewed by running
/tag
without any options
- When filling out the
- The final embed displayed after using the
awardnft
command will now include an image of the NFT that was dropped
- Incorrect comment in Proof of Good ledger (@jayeclark)
- The
profile
command performance has been improved - The "Approve Good Act" context menu button was not displaying immediately after its release
- A typo in the "🎉 You earned A NFT!" automated message
2.5.1 (2021-11-28)
Permissions update in preparation for future Discord events.
- Modified how permissions are stored and applied
2.5.0 (2021-10-31)
The custom punishment system introduced previously has been rebranded to Justice System to better reflect the core values of Leyline. All "punish" wording has been changed to either "justice" or "sentence". A lot of what we're doing at Leyline involves making new paths, breaking away from traditions, and creating our own standards. Trial & error is a big component of this process, which means rebrands and revisions are more common than they would be with a more well-established company. In addition to the renaming of the Discord justice system, Leyline Points are also being renamed across the platform to Good Points. For more info on any of the changes we make, whether on Discord or not, the weekly AMA on Saturday is a great place to ask your questions in a casual environment and get responses from the core Leyline team.
- Good Acts submissions can now be manually approved by Moderators
- This feature makes use of Discord's context menus
- It can be used to manually approve any message as a Good Act
- When a message is manually approved, the same process for automatic approval occurs (see previous changelogs for details)
- Any users that reacted to the message prior to its approval will receive GP
- Any users that react to the message within 24h of its approval will receive GP
- The approved act will be recorded on the user's Proof of Good ledger
- Good Acts and Kind Words submissions now support custom emoji for moderator reactions
- Good Acts and Kind Words submission approvals & rejections are now logged in a private staff-only channel
- The log information displayed in the embeds has been reformatted
- All
punish
subcommands have been split into their own commands- Example:
/punish warn
is now/warn
- Example:
- All uses of the phrase "punish" have been renamed to either "justice" or "sentence"
- All front-facing references to LLP have been renamed to GP. This includes:
inspect
commandprofile
command- all logs and DMs associated with user submissions
- the LLP tag has been changed to GP
- Good Acts and Kind Words submission approvals & rejections are no longer logged in #bot-log
awardnft channel
subcommand now only takes voice or stage channels for thechannel
parametersudosay
command now only takes non-thread text channels for thechannel
parameter- The green color for success embeds has been darkened slightly
profile
command displaying an incorrect GP value
2.4.0 (2021-10-12)
This update adds a couple new features, most notable being a custom punishment command system.
A major pro of a custom punishment system is the ability to retain complete control & customization over the functionality. Additionally, all actions are synchronized with our private database, which allows for several data analysis opportunities that would be otherwise unavailable with an external service.
- Punishment command system
- This is releasing now in anticipation of the rules restructure
- 5
punish
commands are added for staff members to use:warn
- issues a written warningmute
- temporarily prevents a user from sending messages in channels/threads, speaking in voice channels, or creating threadskick
- removes a user from the server without revoking their ability to rejoinban
- removes a user from the server and revokes their ability to rejoinhistory
- displays the 25 most recent punishments issued to a user
- All punishments issued will be logged in a private, staff-only channel
- All bans will be logged in a public channel, #mod-log
- Any punishments issued will require staff to confirm the target user & reason for punishment, to minimize mistakes
- Cloud configuration synchronization system
- Several bot options can now be configured in real-time, preventing the need to draft a new release for minor changes
- For example, the LLP values for good-acts approvals can now be changed dynamically
- Internal code cleanups
2.3.2 (2021-10-08)
Small patch to clean up an XP bug for a better new user experience. Keep an eye out for a larger update within a couple weeks!
- Discord LLP transactions in your LLP Balance History will now include URLs that link directly to the Discord message that caused the transaction
- Users were not earning new roles after leveling up
- All roles that were not automatically awarded have been manually distributed
2.3.1 (2021-09-13)
Patch to address an LLP/XP glitch introduced with the last update
- Moderators can no longer approve their own submissions
- Any reactions they add to their own submission will have no effect, except for the rejection reaction
- A submission could be approved multiple times and the author would receive additional LLP/XP
- The users that were affected by this will keep the extra LLP/XP that they received
2.3.0 (2021-09-12)
Minor changes and bug fixes with particular attention to user-submitted submissions
- Good acts submissions posted without a description will be automatically rejected
- The author will be DM'd with an explanation
- Any non-moderators that attempt to react with an ❌ to an unapproved submission will have their reaction automatically removed
- When a submission is rejected by a moderator, the ❌ reaction will stay on that submission
- Previously all ❌ reactions would be removed when a submission was rejected
- Responses for the
tag
command now pull from a database and can be dynamically updated - Significant internal code cleanup
profile
command displaying Good Acts stat as zero for all users- In certain situations, threads were not being auto-created by the bot due to the large length of the thread title
2.2.0 (2021-09-03)
The bot will now make use of threads to redirect discussion and encourage cleanliness of the server's channels. This feature may be expanded in the future.
- Whenever a submission is created in #good-acts, a thread will automatically be created for that submission to discourage discussion in the main channel
- All new polls will have a thread automatically created in the #polls channel for that poll, to enable discussion around the poll topic
- Users with unconnected Leyline & Discord accounts could not level up past level 0
- After being approved, bot-added reactions on some posts in #good-acts would not be automatically removed
2.1.0 (2021-08-24)
New features have been added to address the rapidly growing userbase of Leyline's Discord server.
In particular, the new tag
command will allow community moderators and veterans to quickly point new users to helpful resources.
- New command:
tag
- This command can be used to quickly reference a pre-typed message by inputting a tag name
- To view the list of tag names, run the command without any arguments
- Users who now join the Leyline Discord after connecting their Leyline & Discord accounts will automatically receive the alpha tester role
- Users who create a submission in #good-acts prior to connecting their Leyline & Discord accounts will be sent a DM with a tutorial link reminding them to do so before their submission is approved, to ensure they receive their LLP
- The
awardnft
subcommandama
has been changed tochannel
- This allows moderators to pick any voice channel when mass-awarding NFTs, rather than having the AMA channel as the only option
- The bot would not log an error in #bot-log if a Leyline user connected a Discord account that was not in the Leyline server
- After being approved, bot-added reactions on some posts in #good-acts would not be automatically removed
2.0.1 (2021-08-19)
- Messages sent in #kind-words will immediately receive reactions from the bot, which can be used by mods to approve/reject the submission
- Profile command not working properly
2.0.0 (2021-08-19)
This is the first major update that required a significant version change. Nearly the entire codebase was refactored to migrate the current message-based command system (!command
) to Discord's new, fancy slash command system. If you've never heard of slash commands, you can read more about them here.
Going forward, all release notes will be published on GitHub for consistency.
- Slash commands! The bot will no longer respond to the
!
prefix. See the above notes for more information about what slash commands are and how they work - The XP system has been overhauled
- The latest iteration of the system considers numeric experience values when determining a user's level, rather than just their number of approved posts
- This allows for several different sources to contribute to a user's level, which will be addressed below
- All posts approved prior to this release will be migrated to the new XP system, with a rate of 5 XP earned per post
- This will not affect user levels. If you were level 5 prior to this release, you will still be level 5 after the release
- View the notion page for a breakdown of the new XP system
- Poll system
- Moderators can create a poll using the
poll
command - A poll can last anywhere from 1 second to 24 days and have 2-10 choices
- Once a poll has been created, it will be sent in a public channel where users can vote on it
- Each user can vote on a poll once, and their vote cannot be changed once it has been cast
- Every vote cast on a poll earns the voter +1 XP
- Moderators can create a poll using the
- Kind Words submissions
- Similar to the Good Acts submissions, users can now receive LLP and XP for contributing in the kind-words channel!
- Any message sent in the channel can be approved or rejected by a moderator using the ✅ and ❌ reactions, respectively
- Unlike Good Acts submissions, these emojis are not automatically added to every message
- Moderators have one week to approve a message after it has been sent in the channel
- Once a message has been approved, all users who reacted prior to its approval receive +1 LLP
- All users who react within 24 hours of its approval will receive +1 LLP (maximum of one reaction per user per message)
- The author of the message will receive +10 LLP and +1 XP for having their submission approved
- The only way to reject a submission after approval is to delete the submission from the channel
- Moderators can now reject Good Acts submissions before they have been approved
- Clicking on the "❌" emoji will reject a submission
- All bot reactions will be removed
- All "❌" reactions to the submission will be removed (out of consideration)
- The post will no longer be eligible for approval
- Users can still react to the post as if it were a normal Discord message, but they will not receive LLP
good-acts
submissions, upon approval, now use Discord's inline replies to reference the approved message
- All command aliases have been removed
awardnft
- now has two subcommands:
user
andama
(renamed fromqna
) - all reaction confirmations have been replaced with buttons
ama
subcmd - when NFT awardal is complete, the final embed will be green if all users were rewarded, and orange if at least one user was not rewarded
- now has two subcommands:
selfrole
- "Bot Updates" added to list of self-assignable roles
- no longer takes arguments
- now allows for removal of self-assignable roles
- running the command without arguments now brings up a Discord Select Menu
- bot responses have been changed to embeds
help
- no longer takes arguments
- admin cmds are now displayed if the initiator is an administrator
addrole
/delrole
- each individual command was removed and consolidated into a single
role
command role
cmd has two subcommands,add
andremove
- responses now use embeds instead of reactions
- each individual command was removed and consolidated into a single
sudosay
- now gives an error if the target channel is not a text channel
- instead of reacting to indicate success, the bot will send an embed
shutdown
- asks for confirmation before proceeding
- bot responses have been changed to embeds
restart
- asks for confirmation before proceeding
- bot responses have been changed to embeds
setstatus
- previously, to clear the bot's status, the command would be run without arguments
- now, the command must be run with the
text
argument set to "clear" - instead of reacting to indicate success, the bot will send an embed
- Sometimes
good-acts
submissions could still be approved after the one-week window for a moderator to approve them had closed - The "inventory" section of the Leyline profile would sometimes return an incorrect value