48 KiB
Changelog
Experimental changelog. Mostly based on keepachangelog except date format. a-c-f-r-o
[5.0.0]
Added
- Added
.shopadd command
You can now sell commands in the shop. The command will execute as if you were the one running it when someone buys it- type
.h .shopadd
for more info
- type
- Added
.stickyroles
Users leaving the server will have their roles saved to the database and reapplied if they rejoin within 30 days. - Giveaway commands
.ga start
starts the giveway with the specified duration and message (prize). You may have up to 5 giveaways on the server at once.ga end <id>
prematurely ends the giveaway and selects a winner.ga cancel <id>
cancels the giveaway and doesn't select the winner.ga list
lists active giveaways on the current server.ga reroll <id>
rerolls the winner on the completed giveaway. This only works for 24 hours after the giveaway has ended, or until the bot restarts.- After the giveaway has started, user join the giveaway by adding a ๐ reaction
- Added Todo Commands
.todo add <name>
- adds a new todo.todo delete <id>
- deletes a todo item.todo done <id>
- completes a todo (marks it with a checkmark).todo list
- lists all todos.todo edit <id> <new message>
- edits a todo item message.todo show <id>
- Shows the text of the specified todo item- In addition to that, there are also Todo archive commands
.todo archive add <name>
- adds all current todos (completed and not completed) to the archived list, your current todo list will become cleared.todo archive list
- lists all your archived todo lists.todo archive show <id>
- shows the todo items from one of your archived lists.todo archive delete <id>
- deletes and archived todo list
- Added
.queufairplay
/.qfp
(music feature) re-added but it works differently- Once you run it, it will reorganize currently queued songs so that they're in a fair order. It has no effect on any subsequently queued songs
- Added
.clubrename
command to uh rename your club - For self-hosters:
- Added
.sqlselectcsv
which will return results in a csv file instead of an embed.
- Added
- Added a page parameter to
.feedlist
Changed
- Users who have manage messages perm in the channel will now be excluded from link and invite filtering (
.sfi
and.sfl
) - You can now target a different channel with .repeat, for example
.repeat #some-other 1h Hello every hour
.cmds <module name>
,.cmds <group name
and.mdls
looks better / cleaner / simpler- The bot will now send a discord Reply to every command
- A lot of code cleanup (still a lot to be done) and Quality of Life improvements
Fixed
.feed
should now correctly accept (and show) the message which can be passed as the third parameter.say
will now correctly report errors if the user or the bot don't have sufficent perms to send a message in the targeted channel- Fixed a bug in .invitelist not paginating correctly
Removed
.poll
commands removed as discord added polls.scpl
and other music soundcloud commands have been removed as soundcloud isn't issuing new api tokens for years now- Removed a lot of useless and nsfw commands
- Removed log voice presence TTS
- Cleanup: Removed a lot of obsolete aliases from aliases.yml
[4.3.22] - 23.04.2023
Added
- Added
.setbanner
command (thx cata)
Fixed
- Fixed pagination error due to a missing emoji
[4.3.21] - 19.04.2023
Fixed
- Possible fix for a duplicate in
.h bank
- Fixed
.stock
command - Fixed
.clubapply
and.clubaccept
- Removed some redundant discriminators
[4.3.20] - 20.01.2024
Fixed
- Fixed
.config searches followedStreams.maxCount
not working
[4.3.19] - 20.01.2024
Added
- Added
followedStreams.maxCount
tosearches.yml
which lets bot owners change the default of 10 per server
Changed
- Improvements to GPT ChatterBot (thx alexandra)
- Add a personality prompt to tweak the way chatgpt bot behaves
- Added Chat history support to chatgpt ChatterBot
- Chatgpt token usage now correctly calculated
- More chatgpt configs in
games.yml
[4.3.18] - 26.12.2023
Added
- Added
.cacheusers
command (thx Kotz) - Added
.clubreject
which lets you reject club applications
Changed
- Updated discord lib, there should be less console errors now
Fixed
- Fixed
icon_url
when using.showembed
- Fixed
.quoteshow
not showing sometimes (thx Cata) - Notifications will no longer be sent if dms are off when using
.give
- Users should no longer be able to apply to clubs while in a club already (especially not to the same club they're already in)
Removed
.revimg
and.revav
as google removed reverse image search
[4.3.17] - 06.09.2023
Fixed
- Fix to waifu gifts being character limited
- Fixes UserUpdated and UserPresence not correctly ignoring users that are logignored
- Added Trim() to activity names since apparently some activities have trailing spaces.
[4.3.16] - 24.05.2023
Fixed
- Fixed missing events from
.logevents
- Fixed
.log
thread deleted and thread created events not working properly
[4.3.15] - 21.05.2023
Fixed
- Fixed -w 0 in trivia
- Fixed
.rps
amount field in the response - Fixed
.showembed
output - Fixed bank award's incorrect output message
[4.3.14] - 02.04.2023
Fixed
- Fixed voice hearbeat issue
.banktake
had ok/error responses flipped. No functional change- PermRole should deny messages in threads todo
- Fixed chucknorris jokes
.logserver
will now
[4.3.13] - 20.02.2023
Fixed
- Fixed
.log userpresence
.q
will now useyt-dlp
if anything other thanytProvider: Ytdl
is set indata/searches.yml
- Fixed Title links on some embeds
[4.3.12] - 12.02.2023
Fixed
- Fixed
.betstats
not working on european locales - Timed
.ban
will work on users who are not in the server - Fixed some bugs in the medusa system
[4.3.11] - 21.01.2023
Added
- Added
.doas
Bot owner only command - Added
.stickeradd
command
Changed
.waifuinfo
optimized- You can now specify an optional custom message in
.feed
and.yun
which will be posted along with an update - Greet/bye messages will now get disabled if they're set to a deleted/unknown channel
- Updated response strings
.translate
now supports many more languages.translangs
prettier output
Fixed
- Added logging for thread events
- Fixed a bug for
.quotedeleteauthor
causing the executing user to delete own messages - Fixed TimeOut punishment not alklowing duration
- Fixed a nullref in streamrole service
- Fixed some potential causes for ratelimit due to default message retry settings
- Fixed a patron rewards bug caused by monthly donation checking not accounting for year increase
- Fixed a patron rewards bug for users who connected the same discord account with multiple patreon accounts
.deletecurrency
will now also reset banked currency- Fixed DMHelpText reply
.h
command show now properly show both channel and server user permission requirements- Many fixes and improvements to medusa system
- Fixed trivia --nohint
.joinrace
will no longer fail if the user isn't in the database yet
[4.3.10] - 10.11.2022
Added
.filterlist
/.fl
command which lists link and invite filtering channels and status- Added support for
%target%
placeholder in.alias
command - Added .forwardtochannel which will forward messages to the current channel. It has lower priority than fwtoall
- Added .exprtoggleglobal / .extg which can be used to toggle usage of global expressions on the server
Changed
- .meload and .meunload are now case sensitive. Previously loaded medusae may need to be reloaded or data/medusae/medusa.yml may need to be edited manually
- Several club related command have their error messages improved
- Updated help text for .antispam and .antiraid
- You can now specify time and date (time is optional) in
.remind
command instead of relative time, in the formatHH:mm dd.MM.YYYY
- OwnerId will be automatically added to
creds.yml
at bot startup if it's missing
Fixed
- Fixed
.cmdcd
console error - Fixed an error when currency is add per xp
- Fixed an issue preventing execution of expressions starting with @Bot when cleverbot is enabled on the server
- Fixed
.feedadd
- Fixed
.prune @target
not working - Medusa modules (sneks) should now inherit medusa description when listed in .mdls command
- Fixed command cooldown calculation
[4.3.9] - 12.10.2022
Added
.betstats
shows sum of all bets, payouts and the payout rate in %. Updates once an hour
Changed
.betstats
looks way better (except on Mac).feedadd
errors clarified and separated in individual error messages for each issue..clubban
and.clubunban
errors clarified and separated in individual error messages for each issue..clubapply
better error messages
Fixed
.timely
'Remind' button fixed in DMs.cmdcd
database bugs fixed- Fixed bugged mysql and postgresql migrations
- Fixed issues with lodaing medusae due to strict versioning
Removed
.slotstats
Superseded by.betstats
[4.3.8] - 02.10.2022
Added
- Added
.autopublish
command which will automatically publish messages posted in the channel. - Added
--after <messageid>
option to prune which will make prune only delete messages after the specified message id.
Changed
.prune
options--after
and--safe
are now proper command options, and will show in .h help.cmdcd
code mostly rewritten, slight QoL improvements.- Clarified
.remind
permission requirements in help text .cmdcds
looks a little better, and is paginated
Fixed
- Fixed trivia bugs
- Fixed
.yun
not working with channels with underscore in the name
[4.3.7] - 14.09.2022
Added
- Added
.exprdelserv
(.exds) to completement .exas. Deletes an expression on the current server and is susceptible to .dpo, unlike .exd - Added
.shopreq
which lets you set role requirement for specific shop items - Added
.shopbuy
alias to.buy
Fixed
- Fixed
.convertlist
showing currencies twice (this may not apply to existing users and it may require you to manually remove all currencies from units.json)
Removed
- Removed
Viewer
field from stream online notification as it is (almost?) always 0.
[4.3.6] - 08.09.2022
Added
- Added
.expraddserver
(.exas) which will server as a server-only alternative to '.exa' in case users want to override default Admin permissions with .dpo - Added .banprune command which sets how many days worth of messages will be pruned when bot (soft)bans a person either through a command or another punishment feature.
- Added .qdelauth - Delete all quotes by the specified author on this server. If you target yourself - no permission required
- Added
.timeout
command - Added an option to award currency based on received xp
Changed
- Reminders now have embed support, but plaintext field is not supported.
- User friendlier errors when parsing a number in a command fails
Fixed
- Awarded xp is now correctly used in level up calculations
[4.3.5] - 17.08.2022
Added
- Added a 'Use' button when a user already owns an item
- Added a 'Pull Again' button to slots
- Added
.roleinfo
command - Added
.emojiremove
command - Added
.threadcreate
and.threaddelete
commands - Added
.bank seize
/.bank award
owner only commands
Changed
- Running a .timely command early now shows a pending color
- .xp system is once again no longer opt in for servers
- It's still opt-in for global and requires users to run .xp at least once in order to start gaining global xp
Fixed
- Fixed users not getting club xp
[4.3.4] - 07.08.2022
Fixed
- Fixed users getting XP out of nowhere while voice xp is enabled
[4.3.3] - 06.08.2022
Added
- Added
betroll
option to.bettest
command - Added
.xpshopbuy
and.xpshopuse
convenience commands - Added an optional preview url to teh xp shop item config model which will be shown instead of the real Url
Changed
- Updated position of Username and Club name on the .xp card
- Improved text visibility on the .xp card
Fixed
- Possibly fixed .trivia not stopping bug
- Fixed very low payout rate on
.betroll
- Fixed an issue with youtube song resolver which caused invalid data to be cached
- Added client id to the cache key as a potential fix for VoiceXp 'bug'. The solution may be to use different redis instances for each bot, or to switch from botCache: from 'redis' to 'memory' in creds.yml
- Bot owner should now be able to buy items from the xpshop when patron requirement is set
- Fixed youtube-dl caching invalid data. Please use yt-dlp instead
[4.3.2] - 28.07.2022
Fixed
- Fixed Reaction Roles not working properly with animated emojis
- Fixed
.slot
alignment - Fixed
mysql
andpostgresql
reactionrole migration - Fixed repeat loop with
postgresql
db provider - Fixed
.bank withdraw <expression>
will now correctly use bank amount for calculation - [dev] Fixed medusa Reply*LocalizedAsync not working with placeholders
[4.3.1] - 27.07.2022
Changed
- Check for updates will run once per hour as it was supposed to
[4.3.0] - 27.07.2022
Added
- Added
.bettest
command which lets you test many gambling commands- Better than .slottest
- Counts win/loss streaks too
- Doesn't count 1x returns as neither wins nor losses
- multipliers < 1 are considered losses, > 1 considered wins
- Added
.betdraw
command which lets you guess red/black and/or high/low for a random card- They payouts are very good, but seven always loses
- Added
.lula
command. Plays the same as.wof
but looks much nicer, and is easily customizable from gambling.yml without any changes to the sourcecode needed. - Added
.repeatskip
command which makes the next repeat trigger not post anything - Added
.linkonly
which will make the bot only allow link posts in the channel. Exclusive with.imageonly
- Added release notifications. Bot owners will now receive new release notifications in dms if they have
checkForUpdates
set totrue
in data/bot.yml- You can also configure it via `.conf bot checkfor
- updates <true/false>`
- Added
.xpshop
which lets bot owners add xp backgrounds and xp frames for sale by configuringdata/xp.yml
- You can also toggle xpshop feature via
.conf xp shop.is_enabled
- You can also toggle xpshop feature via
Changed
-
.t
Trivia code cleaned up, added ALL pokemon generations -
.xpadd
will now work on roles too. It will add the specified xp to each user (visible to the bot) in the role -
Improved / cleaned up / modernized how most gambling commands look
.roll
.rolluo
.draw
.flip
.slot
.betroll
.betflip
- Try them out!
-
.draw
,.betdraw
and some other card commands (not all) will use the new, rewritten deck system -
Error will be printed to the console if there's a problem in
.plant
-
[dev] Split Nadeko.Common into a separate project
- [dev] It will contain classes/utilities which can be shared across different nadeko related projects
-
[dev] Split Nadeko.Econ into a separate project
- [dev] It should be home for the backend any gambling/currency/economy feature
- [dev] It will contain most gambling games and any shared logic
-
[dev] Compliation should take less time and RAM
- [dev] No longer using generator and partial methods for commands
Fixed
.slot
will now show correct multipliers if they've been modified- Fix patron errors showing up even with permissions disabling the command
- Fixed an issue with voice xp breaking xp gain.
Removed
- Removed
.slottest
, replaced by.bettest
- Removed
.wof
, replaced by.lula
- [dev] Removed a lot of unused methods
- [dev] Removed several unused response strings
[4.2.15] - 12.07.2022
Fixed
- Fixed
.nh*ntai
nsfw command - Xp Freezes may have been fixed
data/images.yml
should once again support local file paths- Fixed multiword aliases
[4.2.14] - 03.07.2022
Added
- Added
.log userwarned
(Logging user warnings) - Claiming
.timely
will now show a button which you can click to set a reminder - Added
%server.icon%
placeholder - Added
warn
punishment action for protection commands (it won't work with.warnp
)
Changed
.log userbanned
will now have a ban reason- When
.die
is used, bot will try to update it's status toInvisible
Fixed
- Fixed elipsis character issue with aliases/quotes. You should now be able to set an elipsis to be an alias of
.quoteprint
[4.2.13] - 30.06.2022
Fixed
- Fixed
.cash
bank interaction not being ephemeral anymore
[4.2.12] - 30.06.2022
Fixed
- Fixed
.trivia --pokemon
showing incorrect pokemons
[4.2.11] - 29.06.2022
Fixed
- Fixed
.draw
command
[4.2.10] - 29.06.2022
- Fixed currency generation working only once
[4.2.9] - 25.06.2022
Fixed
- Fixed
creds_example.yml
misssing from output directory
[4.2.8] - 24.06.2022
Fixed
.timely
should be fixed
[4.2.7] - 24.06.2022
Changed
- New cache abstraction added
- 2 implemenations: redis and memory
- All current bots will stay on redis cache, all new bots will use in-process memory cache by default
- This change removes bot's hard dependency on redis
- Configurable in
creds.yml
(please read the comments) - You MUST use 'redis' if your bot runs on more than 1 shard (2000+ servers)
- [dev] Using new non-locking ConcurrentDictionary
Fixed
.xp
will now show default user avatars too
Removed
- Removed
.imagesreload
as images are now lazily loaded on request and then cached
[4.2.6] - 22.06.2022
Fixed
- Patron system should now properly by disabled on selfhosts by default.
[4.2.5] - 18.06.2022
Fixed
- Fixed
.crypto
, you will still need coinmarketcapApiKey increds.yml
in order to make it run consistently as the key is shared
[4.2.3] - 17.06.2022
Fixed
- Fixed
.timely
nullref bug and made it nicer - Fixed
.streamrole
not updating in real time! - Disabling specific Global Expressions should now work with
.sc
(and other permission commands)
[4.2.2] - 15.06.2022
Fixed
- Added missing Patron Tiers and fixed Patron pledge update bugs
- Prevented creds_example.yml error in docker containers from crashing it
Changed
- Rss feeds will now show error counter before deletion
[4.2.1] - 14.06.2022
Added
- Localized strings updated
Fixed
- Fixed
.exexport
,.savechat
, and.quoteexport
- Fixed plaintext-only embeds
- Fixed greet message footer not showing origin server
[4.2.0] - 14.06.2022
Added
- Added
data/searches.yml
file which configures some of the new search functionality The file comments explaining what each property does. Explained briefly here:# what will be used for .google command. Either google (official api) or searx webSearchEngine: Google # what will be used for .img command. Either google (official api) or searx imgSearchEngine: Google # how will yt results be retrieved: ytdataapi or ytdl or ytdlp ytProvider: YtDataApiv3 # in case web or img search is set to searx, the following instances will be used: searxInstances: [] # in case ytProvider is set to invidious, the following instances will be used invidiousInstances: []
- Added new properties to
creds.yml
. google -> searchId and google -> searchImageId. - These properties are used as
cx
(google api query parameter) in case you've setup yourdata/searches.yml
to use the official google api.searchId
is used for web searchsearchimageId
is used for image searchgoogle: searchId: "" searchImageId: ""
- Check
creds_example.yml
for comments explaining how to obtain them.
Patronage system added
- Added
data/patron.yml
for configuration - Implemented only for patreon so far
- Patreon subscription code completely rewritten
- Users who pledge on patreon get benefits based on the amount they pledged
- Public nadeko only. But selfhosters can adapt it to their own patreon pages by configuring their patreon credentials in
creds.yml
and enabling the system indata/patron.yml
file.- Most of the patronage system strings are hardcoded atm, so if you wish to use this system on selfhosts, you will have to modify the source
- Pledge amounts are split into tiers. This is not configurable atm.
- Tier I - 1$ - 4.99$ a month
- Tier V - 5$ - 9.99$ a month
- Tier X - 10$ - 19.99$ a month
- Tier XX - 20$ - 49.99$ a month
- Tier L - 50$ - 99.99$ a month
- Tier C - 100$+ a month
- Rewards and command quotas for each of the tiers are configurable
- Limitations to certain features are also configurable. ex:
quotas:
features:
"rero:max_count":
x: 50
- ^ this setting would set the maximum number of reaction roles to be 50 for a user who is in Patron Tier X
- Read the comments in the .yml file for (much) more info
- Quota system allows the owner to set up hourly, daily and monthly quota usage for each tier
- Quota system applies to entire server owner by a patron
- Patron spends own quota by using the commands on any server
- Any user on any server owned by a patron spends that patron's quota
- When users subscribe to patreon they will receive a welcome message
- If you're enabling patron system for a selfhost, you will want to edit it
Added .patron
and .patronmessage
commands
-
.patron
checks your patronage status, and quotas. Requires patron system to be enabled. -
.patronmessage
(owner only) sends message to all patrons with the specified tier or higher. Supports embeds -
Added a fake
.cmdcd
commandcleverbot:response
which can be used to limit how often users can talk to the cleverbot.
Changed
-
CurrencyReward now support adding additional flowers to patrons.
-
.donate
command completely reworked.- Works only on public bot (OnlyPublicBotAttribute)
- Guides user on how to donate to support the project
- Added interaction explaining selfhosting
-
.google
reimplemented. It now has 2 modes configurable indata/searches.yml
under thewebSearchengine
property- If set to
google
, official custom search api will be used. You will need to set googleapikey and google.searchId increds.yml
- if set to
searx
one of the instances specified in thesearxInstances:
property will be randomly chosen for each request- instances must have
format=json
allowed (public ones usually don't allow it) - instances are specified as a fully qualified url, example:
https://my.cool.searx.instance.io
- instances must have
- If set to
-
.image
reimplemented. Same as.google
- it uses eithergoogle
official api (in which case it usesgoogle.searchImageId
fromcreds.yml
) orsearx
-
.youtube
reimplemented. It will use aytProvider:
property fromdata/searches.yml
to determine how to retrieve resultsytdataapi
will use the official google api (requiresGoogleApiKey
specified increds.yml
) and YoutubeDataApi enabled in the dev consoleytdl
will useyoutube-dl
program from the host machine. It must be downloaded and it's location must be added to path env variable.ytdlp
will useyt-dlp
program from the host machine. Same asyoutube-dl
- must be in path env variable.invidious
will use one of invidious instances specified in theinvidiousInstances
property. Very good.
-
.google
,.youtube
and.image
moved to the new Search group
Note: Results of each .youtube
query will be cached for 1 hour to improve perfomance
-
Removed 30 second
.ping
ratelimit on public nadeko -
xp image generation changes
- In case you have default settings, your xp image will look slightly different
- If you've modified xp_template.json, your xp image might look broken. Your old template will be saved in xp_template.json.old
- Xp number outline is now slightly thicker
- Xp number will now have Center vertical and horizontal alignment
- LastLevelUp no longer supported
-
Some commands will now use timestamp tags for better user experience
-
.prune
was slightly slowed down to avoid ratelimits -
.wof
moved from it's own group to the default Gambling group -
.feed
urls which error for more than 100 times will be automatically removed. -
.ve
is now enabled by default -
[dev] nadeko interaction slightly improved to make it less nonsense (they still don't make sense)
-
[dev] RewardedUsers table slightly changed to make it more general
-
[dev] renamed
// todo
s which aren't planned soon to// FUTURE
-
[dev] currency rewards have been reimplemented and moved to a separate service
Fixed
.rh
no longer needs quotes for multi word roles.deletexp
will now properly delete server xp too- Fixed
.crypto
sparklines - [dev] added support for configs to properly parse enums without case sensitivity (ConfigParsers.InsensitiveEnum)
- [dev] Fixed a bug in .gencmdlist
- [dev] small fixes to creds provider
Removed
.ddg
removed.- [dev] removed some dead code and comments
[4.1.6] - 14.05.2022
Fixed
- Fixed windows release and updated packages
[4.1.5] - 11.05.2022
Changed
.clubdesc <msg>
will now have a nicer response
Fixed
.give
DM will once again show an amount- Fixed an issue with filters not working and with custom reactions no longer being able to override commands.
- Fixed
.stock
command
[4.1.4] - 06.05.2022
Fixed
- Fixed
.yun
[4.1.3] - 06.05.2022
Added
- Added support for embed arrays in commands such as .say, .greet, .bye, etc...
- Website to create them is live at eb.nadeko.bot (old one is moved to oldeb.nadeko.bot)
- Embed arrays don't have a plainText property (it's renamed to 'content')
- Embed arrays use color hex values instead of an integer
- Old embed format will still work
- There shouldn't be any breaking changes
- Added
.stondel
command which, when toggled, will make the bot delete online stream messages on the server when the stream goes offline - Added a simple bank system.
- Users can deposit, withdraw and check the balance of their currency in the bank.
- Users can't check other user's bank balances.
- Added a button on a .$ command which, when clicked, sends you a message with your bank balance that only you can see.
- Added
.h <command group>
- Using this command will list all commands in the specified group
- Atm only .bank is a proper group (
.h bank
)
- Added "Bank Accounts" entry to
.economy
Changed
- Reaction roles rewritten completely
- Supports multiple exclusivity groups per message
- Supports level requirements
- However they can only be added one by one
- Use the following commands for more information
.h .reroa
.h .reroli
.h .rerot
.h .rerorm
.h .rerodela
- Pagination is now using buttons instead of reactions
- Bot will now support much higher XP values for global and server levels
- [dev] Small change and generation perf improvement for the localized response strings
Fixed
- Fixed
.deletexp
command .give
command should send DMs again.modules
command now has a medusa module description
[4.1.2] - 16.04.2022
Fixed
- Fixed an issue with missing
.dll
files in release versions
[4.1.0] - 16.04.2022
Added
- NadekoBot now supports mysql, postgresql and sqlite
- To change the db nadeko will use, simply change the
db type
increds.yml
- There is no migration code right now, which means that if you want to switch to another system you'll either have to manually export/import your database or start fresh
- To change the db nadeko will use, simply change the
- Medusa system
- A massive new feature which allows developers to create custom modules/plugins/cogs
- They can be load/unloaded/updated at runtime without restarting the bot
Changed
- Minor club rework
- Clubs names are now case sensitive (owo and OwO can be 2 different clubs)
- Removed discriminators
- Current discriminators which are greater than 1 are appended to clubnames to avoid duplicates, you can rename your club with
.clubrename
to remove it - Most of the clubs with #1 discriminator no longer have it (For example MyClub#1 will now just be MyClub)
- Current discriminators which are greater than 1 are appended to clubnames to avoid duplicates, you can rename your club with
- [dev] A lot of refactoring and slight functionality changes within Nadeko's behavior system and command handler which were required in order to support the medusa system
Removed
- Removed
.clublevelreq
command as it doesn't serve much purpose
[4.0.6] - 21.03.2022
Fixed
- Fixed voice presence logging
- Fixed .clubaccept, .clubban, .clubkick and .clubunban commands
[4.0.5] - 21.03.2022
Fixed
- Fixed several bugs in the currency code
- Fixed some potential memory leaks
- Fixed some response strings
[4.0.4] - 04.03.2022
Fixed
- Fixed the
id
which shows up when you add a new Expression - Fixed some strings which were still referring to "CustomReaction(s)" instead of "Expression(s)"
[4.0.3] - 04.03.2022
Fixed
- Console should no longer spam numbers when
.antispam
is enabled
[4.0.2] - 03.03.2022
Fixed
- Fixed
.rero
not working due to a bug introduced in 4.0
[4.0.1] - 03.03.2022
Added
- Added
usePrivilegedIntents
to creds.yml if you don't have or don't want (?) to use them - Added a human-readable, detailed error message if logging in fails due to missing privileged intents
[4.0.0] - 02.03.2022
Added
- Added
.deleteemptyservers
command - Added
.curtr <id>
which lets you see full information about one of your own transactions with the specified id - Added trovo.live support for stream notifications (
.stadd
) - Added unclaimed waifu decay functionality
- Added 3 new settings to
data/gambling.yml
to control it:- waifu.decay.percent - How much % to subtract from unclaimed waifu
- waifu.decay.hourInterval - How often to decay the price
- waifu.decay.minPrice - Unclaimed waifus with price lower than the one specified here will not be affected by the decay
- Added 3 new settings to
- Added
currency.transactionsLifetime
todata/gambling.yml
Any transaction older than the number of days specified will be automatically deleted - Added
.stock
command to check stock prices and charts - Re-added
.qap / .queueautoplay
Changed
- CustomReactions module (and customreactions db table) has been renamed to Expressions.
- This was done to remove confusion about how it relates to discord Reactions (it doesn't, it was created and named before discord reactions existed)
- Expression command now start with ex/expr and end with the name of the action or setting.
- For example
.exd
(.dcr
) is expression delete,.exa
(.acr
) - Permissions (
.lp
) be automatically updated with "ACTUALEXPRESSIONS", "EXPRESSIONS" instead of "ACTUALCUSTOMREACTIONS" and "CUSTOMREACTIONS" - Permissions for
.ecr
(now.exe
),.scr
(now.exs
),.dcr
(now.exd
),.acr
(now.exa
),.lcr
(now.exl
) will be automatically updated - If you have custom permissions for other CustomReaction commands
- Some of the old aliases like
.acr
.dcr
.lcr
and a few others have been kept
- Currency output format improvement (will use guild locale now for some commands)
.crypto
will now also show CoinMarketCap rank- Waifus can now be claimed for much higher prices (int -> long)
- Several strings and commands related to music have been changed
- Changed
.ms / .movesong
to.tm / .trackmove
but kept old aliases - Changed
song->track
throughout music module strings
- Changed
- Improved .curtrs (It will now have a lot more useful data in the database, show Tx ids, and be partially localized)
- [dev] Reason renamed to Note
- [dev] Added Type, Extra, OtherId fields to the database
- [dev] CommandStrings will now use methodname as the key, and not the command name (first entry in aliases.yml)
- In other words aliases.yml and commands.en-US.yml will use the same keys (once again)
- [dev] Reorganized module and submodule folders
- [dev] Permissionv2 db table renamed to Permissions
- [dev] Moved FilterWordsChannelId to a separate table
Fixed
- Fixed twitch stream notifications (rewrote it to use the new api)
- Fixed an extra whitespace in usage part of command help if the command has no arguments
- Possible small fix for
.prune
ratelimiting .gvc
should now properly trigger when a user is already in a gvc and changes his activity.gvc
should now properly detect multiple activities- Fixed reference to non-existent command in bot.yml
- Comment indentation in .yml files should now make more sense
- Fixed
.warn
punishments not being applied properly when using weighted warnings - Fixed embed color when disabling
.antialt
Removed
- Removed
.bce
- use.config
or.config bot
specifically for bot config - Removed obsolete placeholders: %users% %servers% %userfull% %username% %userdiscrim% %useravatar% %id% %uid% %chname% %cid% %sid% %members% %server_time% %shardid% %time% %mention%
- Removed some obsolete commands and strings
- Removed code which migrated 2.x to v3 credentials, settings, etc...
[3.0.13] - 14.01.2022
Fixed
- Fixed
.greetdm
causing ratelimits during raids - Fixed
.gelbooru
[3.0.12] - 06.01.2022
Fixed
.smch
Fixed.trans
command will now work properly with capitilized language names- Ban message color with plain text fixed
- Fixed some grpc coordinator bugs
- Fixed a string in
.xpex
- Google version of .img will now have safe search enabled
- Fixed a small bug in
.hangman
[3.0.11] - 17.12.2021
Added
.remindl
and.remindrm
commands now supports optional 'server' parameter for Administrators which allows them to delete any reminder created on the server- Added slots.currencyFontColor to gambling.yml
- Added
.qexport
and.qimport
commands which allow you to export and import quotes just like.crsexport
- Added
.showembed <msgid>
and.showembed #channel <msgid>
which will show you embed json from the specified message
Changed
.at
and.atl
commands reworked- Persist restarts
- Will now only translate non-commands
- You can switch between
.at del
and.at
without clearing the user language registrations - Disabling
.at
will clear all user language registrations on that channel - Users can't register languages if the
.at
is not enabled - Looks much nicer
- Bot will now reply to user messages with a translation if
del
is disabled - Bot will make an embed with original and translated text with user avatar and name if
del
is enabled
- Bot will now reply to user messages with a translation if
- If the bot is unable to delete messages while having
del
enabled, it will reset back to the no-del behavior for the current session
Fixed
.crypto
now supports top 5000 coins
[3.0.10] - 01.12.2021
Changed
.warn
now supports weighted warnings.warnlog
will now show current amount and total amount of warnings
Fixed
.xprewsreset
now has correct permissions
Removed
- Removed slot.numbers from
images.yml
as they're no longer used
[3.0.9] - 21.11.2021
Changed
.ea
will now use an image attachments if you omit imageUrl
Added
- Added
.emojiadd
with 3 overloads.ea :customEmoji:
which copies another server's emoji.ea newName :customEmoji:
which copies emoji under a different name.ea emojiName <imagelink.png>
which creates a new emoji from the specified image
- Patreon Access and Refresh Tokens should now be automatically updated once a month as long as the user has provided the necessary credentials in creds.yml file:
Patreon.ClientId
Patreon.RefreshToken
(will also get updated once a month but needs an initial value)Patreon.ClientSecret
Patreon.CampaignId
Fixed
- Fixed an error that would show up in the console when a club image couldn't be drawn in certain circumstances
[3.0.8] - 03.11.2021
Added
- Created VotesApi project nad re-worked vote rewards handling
- Updated votes entries in creds.yml with explanations on how to set up vote links
Fixed
- Fixed adding currency to users who don't exist in the database
- Memory used by the bot is now correct (thanks to kotz)
- Ban/kick will no longer fail due to too long reasons
- Fixed some fields not preserving inline after string replacements
Changed
images.json
moved toimages.yml
- Links will use the new cdn url
- Heads and Tails images will be updated if you haven't changed them already
.slot
redesigned (and updated entries inimages.yml
)- Reduced required permissions for .qdel (thanks to tbodt)
[3.0.7] - 05.10.2021
Added
.streamsclear
re-added. It will remove all followed streams on the server..gifts
now have 3 new โ๏ธ Haircut ๐งป ToiletPaper and ๐ฅ WiltedRose which reduce waifu's value- They are called negative gifts
- They show up at the end of the
.gifts
page and are marked with a broken heart - They have a separate multiplier (
waifu.multi.negative_gift_effect
default 0.5, changeable via.config gambling
ordata/gambling.yml
) - When gifted, the waifu's price will be reduced by the
price * multiplier
- Negative gifts don't show up in
.waifuinfo
nor is the record of them kept in the database
Fixed
- Fixed
%users%
and%shard.usercount%
placeholders not showing correct values
[3.0.6] - 27.09.2021
Added
- .logignore now supports ignoring users and channels. Use without parameters to see the ignore list
Changed
- Hangman rewrite
- Hangman categories are now held in separate .yml files in data/hangman/XYZ.yml where XYZ is the category name
Fixed
- Fixed an exception which caused repeater queue to break
- Fixed url field not working in embeds
[3.0.5] - 20.09.2021
Fixed
- Fixed images not automatically reloading on startup if the keys don't exist
- Fixed
.logserver
- it should no longer throw an exception if you had no logsettings previously
[3.0.4] - 16.09.2021
Added
- Fully translated to Brazilian Portuguese ๐
- Added
%server.boosters%
and%server.boost_level%
placeholders - Added
DmHelpTextKeywords
todata/bot.yml
- Bot now sends dm help text ONLY if the message contains one of the keywords specified
- If no keywords are specified, bot will reply to every DM (like before)
Fixed
- Possible fix for
.repeat
bug- Slight adjustment for repeater logic
- Timer should no longer increase on some repeaters
- Repeaters should no longer have periods when they're missing from the list
- Fixed several commands which used error color for success confirmation messages
[3.0.3] - 15.09.2021
Added
- Added
.massban
to ban multiple people at once. 30 second cooldown - Added
.youtubeuploadnotif
/.yun
as a shortcut for subscribing to a youtube channel's rss feed - Added
.imageonlychannel
/.imageonly
to prevent users from posting anything but images in the channel - Added
.config games hangman.currency_reward
and a property with the same name in games.yml- If set, users will gain the specified amount of currency for each hangman win
- Fully translated to Spanish, Russian and Ukrainian ๐
Changed
- Ban
.warnp
will now prune user's messages
Fixed
.boostmsg
will now properly show boost, and not greet message
[3.0.2] - 12.09.2021
Added
.rero
now optionally takes a message id to which to attach the reaction roles- Fully translated to German ๐
- Added
.boost
,.boostmsg
and.boostdel
commands which allow you to have customizable messages when someone boosts your server, with auto-deletion support
Changed
- Updated
.greetmsg
and.byemsg
command help to match the new.boost
command help - Updated response embed colors in greet commands
- Success -> green
- Warning or Disable -> yellow.
Fixed
.timely
will now correctly useOk
color- Fixed
.log
commands
Removed
- Removed
.novel
command as it no longer works
[3.0.1] - 10.09.2021
Fixed
- Fixed some issues with the embeds not showing the correct data
[3.0.0] - 06.09.2021
Changed
- Renamed
credentials.json
tocreds.yml
(example increds_example.yml
)- Most of the credentials from 2.x will be automatically migrated
- Explanations on how to get the keys are added as the comments
- Code cleanup
- Command attributes cleaned up
- Removed dummy Remarks and Usages attributes as hey were unused for a few patches but stayed in the code to avoid big git diffsmigration code has ran and it can be safely removed
- There are 2 projects: NadekoBot and NadekoBot.Coordinator
- You can directly run NadekoBot as the regular bot with one shard
- Run NadekoBot.Coordinator if you want more control over your shards and a grpc api for coordinator with which you can start, restart, kill and see status of shards
- Small performance improvements
- Db Migrations squashed
- A lot of cleanup all around
- Command attributes cleaned up
- Many guides reworked
- Guides now instruct users to set build output to nadekobot/output instead of running from nadekobot/src/NadekoBot
Fixed
- Fixed many response strings which were formatted or used incorrectly
Removed
- Removed All database migrations and data (json file) migrations
- As updating to the latest 2.x version before switching over to v3 is mandated (or fresh v3 install), that means all
[2.46.2] - 14.07.2021
Fixed
- Fixed .save for local songs
- Fixed .lq for local songs if the song names are too long
- Fixed hierarchy check for .warnpunish with role argument
[2.46.1] - 21.06.2021
Fixed
- Fixed some response strings (thx Ala)
- Fixed repeaters having 5 global limit, instead of 5 server limit (thx cata)
[2.46.0] - 17.06.2021
Added
- Added some nsfw commands
Changed
.aar
reworked. Now supports multiple roles, up to 3.- Toggle roles that are added to newly joined users with
.aar RoleName
- Use
.aar
to list roles which will be added - Roles which are deleted are automatically cleaned up from
.aar
- Toggle roles that are added to newly joined users with
.inrole
now also shows user ids- Blacklist commands (owner only)
.ubl
.sbl
and.cbl
will now list blacklisted items when no argument (or a page number) is provided .cmdcd
now works with customreactions too.xprr
usage changed. It now takes add/rm parameter to add/remove a role ex. You can only take or remove a single role, adding and removing a role at the same level doesn't work (yet?)- example:
.xprr 5 add Member
or.xprr 1 rm Newbie
- example:
[2.45.2] - 14.06.2021
Added
- Added
.duckduckgo / .ddg
search
Changed
.invlist
shows expire time and is slightly prettier
Fixed
.antialt
will be properly cleaned up when the bot leaves the server
[2.45.1] - 12.06.2021
Added
- Added many new aliases to custom reaction commands in the format ex + "action" to prepare for the future rename from CustomReactions to Expressions
- You can now
.divorce
via username#discrim even if the user no longer exists
Changed
- DmHelpText should now have %prefix% and %bot.prefix% placeholders available
- Added squares which show enabled features for each cr in
.lcr
- Changed CustomReactions' IDs to show, and accept base 32 unambigous characters instead of the normal database IDs (this will result in much shorter cr IDs in case you have a lot of them)
- Improved
.lcr
helptext to explain what's shown in the output .rolecolor <color> <role>
changed to take color, then the role, to make it easier to set color for roles with multiple words without mentioning the role.acmdcds
alias chanaged to.cmdcds
.8ball
will now cache results for a day.chatmute
and.voicemute
now support timed mutes
Fixed
- Fixed
.config <conf> <prop>
exceeding embed field character limit
[2.45.0] - 10.06.2021
Added
- Added
.crsexport
and.crsimport
- Allows for quick export/import of server or global custom reactions
- Requires admin permissions for server crs, and owner for global crs
- Explanation of the fields is in the comment at the top of the
.crsexport
.yml file
- Added
.mquality
/.musicquality
- Set encoding quality. Has 4 presets - Low, Medium, High, Highest. Default is Highest - Added
.xprewsreset
which resets all currently set xp level up rewards - Added
.purgeuser @User
which will remove the specified from the database completely. Removed settings include: Xp, clubs, waifu, currency, etc... - Added
.config xp txt.per_image
and xpFromImage to xp.yml - Change this config to allow xp gain from posting images. Images must be 128x128 or greater in size - Added
.take <amount> <role>
to complement.award <amount> role
- Added Fans list to
.waifuinfo
which shows how many people have their affinity set to you - Added
.antialt
which will punish any user whose account is younger than specified threshold
Changed
.warne
with no args will now show current state- .inrole` will now lists users with no roles if no role is provided
- Music suttering fixed on some systems
.say
moved to utility module- Re-created GuildRepeaters table and renamed to Repeaters
- confirmation prompts will now use pending color from bot config, instead of okcolor
.mute
can now have up to 49 days mute to match .warnp.warnlog
now has proper pagination (with reactions) and checking your own warnings past page 1 works correctly now with.warnlog 2
Fixed
- obsolete_use string fixed
- Fixed
.crreact
[2.44.4] - 06.06.2021
Added
- Re-added
%music.playing%
and%music.queued%
(#290) - Added
%music.servers%
which shows how many servers have a song queued up to play โน๏ธ ^ Only available to.ropl
/.adpl
feature atm .autodc
re-added.qrp
,.vol
,.smch
.autodc
will now persist
Changed
- Using
.commands
/.cmds
without a module will now list modules .qrp
/.queuerepeat
will now accept one of 3 valuesnone
- don't repeat queuetrack
- repeat single trackqueue
(or ommit) - repeat entire queue
- your old
.defvol
and.smch
settings will be reset
Fixed
- Fixed
.google
/.g
command - Removing last song in the queue will no longer reset queue index
- Having
.rpl
disabled will now correctly stop after the last song, closes #292
Removed
.sad
removed. It's more or less useless. Use.qrp
and.autodc
now for similar effect
Obsolete
.rcs
is obsolete, use.qrp s
or.qrp song
.defvol
is obsolete, use.vol
[2.44.3] - 04.06.2021
Changed
- Minor perf improvement for filter checks
Fixed
.qs
result urls are now valid- Custom reactions with "
-
" as a response should once again disable that custom reaction completely - Fixed
.acrm
out of range string - Fixed
.sclist
and.aclist
not showing correct indexes past page 1
[2.44.2] - 02.06.2021
Added
- Music related commands reimplemented with custom code, considered alpha state
- Song and playlist caching (faster song queue after first time)
- Much faster starting and skipping once the songs are in the queue
- Higher quality audio (no stuttering too!)
- Local tracks will now have durations if you have ffprobe installed (comes with ffmpeg)
- Bot supports joining a different vc without skipping the song if you use
.j
- โ ๏ธ DO NOT DRAG THE BOT to another vc, as it's not properly supported atm, and you will have to do
.play
after dragging it)
- โ ๏ธ DO NOT DRAG THE BOT to another vc, as it's not properly supported atm, and you will have to do
.j
makes the bot join your voice channel.p
is now alias of play, pause is.pause
.qs
should work without google api key now for most users as it is using a custom loader- Added
.clubs
alias for.clublb
Changed
.ms
no longer takes>
between arguments (.ms 1 5
now, was.ms 1>5
before)- FlowerShop renamed to Shop
Fixed
- Fixed decay bug giving everyone 1 flower every 24h
- Fixed feeds which have rss media items without a type
- Fixed
.acrm
index not working - Fixed and error reply when a waifu item doesn't exist
- Disabled colored console on windows as they were causing issues for some users
- Fixed/Updated some strings and several minor bugfixes
Removed
- Removed admin requirement on
.scrm
as it didn't make sense - Some Music commands are removed because of the complexity they bring in with little value (if you really want them back, you can open an issue and specify your good reason)