diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b011f72a..83c0512b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,27 @@ Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except date format. a-c-f-r-o -## [5.1.19] +## [5.1.19] - 04.11.2024 + +### Added + +- Added `.betstats` + - See your own stats with .betstats + - Target someone else: .betstats @seraphe + - You can also specify a game .betstats lula + - Or both! .betstats seraphe br +- `.timely` can now have a server boost bonus + - Configure server ids and reward amount in data/gambling.yml + - anyone who boosts one of the sepcified servers gets the amount as base timely bonus + +### Changed + +- `.plant/pick` password font size will be slightly bigger + +### Fixed + +- `.xplb` and `.xpglb` now have proper ranks after page 1 +- Fixed boost bonus on shards different than the specified servers' shard ## [5.1.18] - 02.11.2024 @@ -14,14 +34,16 @@ Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except da language of that country - 5 second cooldown per user - The message can only be translated once per language (counter resets every 24h) -- `.timely` now has a button. Togglable via `.conf gambling` it's called pass because previously it was a captcha, but captchas are too annoying +- `.timely` now has a button. Togglable via `.conf gambling` it's called pass because previously it was a captcha, but + captchas are too annoying ## Changed - [public bot] Patreon reward bonus for flowers reduced. Timely bonuses stay the same - discriminators removed from the databases. All users who had ???? as discriminator have been renamed to ??username. - all new unknown users will have ??Unknown as their name -- Flower currency generation will now have a strikeout to try combat the pickbots. This is the weakest but easiest protection to implement. There may be more options in the future +- Flower currency generation will now have a strikeout to try combat the pickbots. This is the weakest but easiest + protection to implement. There may be more options in the future ## Fixed diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index c2848710a..2b40bf60f 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -241,12 +241,12 @@ public partial class Gambling : GamblingModule await msg.DeleteAsync(); return; } - else if(Config.Timely.ProtType == TimelyProt.Captcha) + else if (Config.Timely.ProtType == TimelyProt.Captcha) { var password = _service.GeneratePassword(); - + var img = new Image(70, 35); - + var font = _fonts.NotoSans.CreateFont(30); var outlinePen = new SolidPen(Color.Black, 1f); var strikeoutRun = new RichTextRun @@ -291,7 +291,6 @@ public partial class Gambling : GamblingModule { _ = captcha.DeleteAsync(); } - } await ClaimTimely(); @@ -325,22 +324,19 @@ public partial class Gambling : GamblingModule { try { - var guild = await ((IDiscordClient)_client).GetGuildAsync(gid); - if (guild is null) - return null; - - var user = await guild.GetUserAsync(ctx.User.Id); - return user; + var guild = await _client.Rest.GetGuildAsync(gid, false); + var user = await _client.Rest.GetGuildUserAsync(gid, ctx.User.Id); + return (guild, user); } catch { - return null; + return default; } }) .WhenAll(); - var boostGuildUser = guildUsers.FirstOrDefault(x => x?.PremiumSince is not null); - var booster = boostGuildUser is not null; + var userInfo = guildUsers.FirstOrDefault(x => x.user?.PremiumSince is not null); + var booster = userInfo != default; if (booster) val += Config.BoostBonus.BaseTimelyBonus; @@ -359,7 +355,7 @@ public partial class Gambling : GamblingModule { var msg = GetText(strs.timely(N(val), period)) + "\n\n" - + $"*+{N(Config.BoostBonus.BaseTimelyBonus)} bonus for boosting {boostGuildUser.Guild}!*"; + + $"*+{N(Config.BoostBonus.BaseTimelyBonus)} bonus for boosting {userInfo.guild}!*"; await Response().Confirm(msg).Interaction(inter).SendAsync(); } diff --git a/src/NadekoBot/Modules/Gambling/PlantPick/PlantPickService.cs b/src/NadekoBot/Modules/Gambling/PlantPick/PlantPickService.cs index 491e5539e..f4991d783 100644 --- a/src/NadekoBot/Modules/Gambling/PlantPick/PlantPickService.cs +++ b/src/NadekoBot/Modules/Gambling/PlantPick/PlantPickService.cs @@ -147,7 +147,7 @@ public class PlantPickService : INService, IExecNoCommand pass = pass.TrimTo(10, true).ToLowerInvariant(); using var img = Image.Load(curImg); // choose font size based on the image height, so that it's visible - var font = _fonts.NotoSans.CreateFont(img.Height / 12.0f, FontStyle.Bold); + var font = _fonts.NotoSans.CreateFont(img.Height / 11.0f, FontStyle.Bold); img.Mutate(x => { // measure the size of the text to be drawing @@ -159,7 +159,7 @@ public class PlantPickService : INService, IExecNoCommand // fill the background with black, add 5 pixels on each side to make it look better x.FillPolygon(Color.ParseHex("00000080"), - new PointF(0, 0), + new PointF(1, 1), new PointF(size.Width + 5, 0), new PointF(size.Width + 5, size.Height + 10), new PointF(0, size.Height + 10)); diff --git a/src/NadekoBot/NadekoBot.csproj b/src/NadekoBot/NadekoBot.csproj index ebf2ba3e4..8bae3574a 100644 --- a/src/NadekoBot/NadekoBot.csproj +++ b/src/NadekoBot/NadekoBot.csproj @@ -4,7 +4,7 @@ enable true en - 5.1.18 + 5.1.19 $(MSBuildProjectDirectory) diff --git a/src/NadekoBot/data/commandlist.json b/src/NadekoBot/data/commandlist.json index b0361c54b..9ebaed113 100644 --- a/src/NadekoBot/data/commandlist.json +++ b/src/NadekoBot/data/commandlist.json @@ -2758,11 +2758,29 @@ "Gambling": [ { "Aliases": [ - ".betstats" + ".betstats", + ".bs" + ], + "Description": "Shows the current bet stats for yourself, or the targetted user.\nYou may optionally specify the game to show stats for.\nSupported games right now are: bf, br, bd, lula, slot, race", + "Usage": [ + ".betstats", + ".betstats @someone", + ".betstats @someone lula", + ".betstats bd" + ], + "Submodule": "Gambling", + "Module": "Gambling", + "Options": null, + "Requirements": [] + }, + { + "Aliases": [ + ".gamblestats", + ".gs" ], "Description": "Shows the total stats of several gambling features.\nUpdates once an hour.", "Usage": [ - ".betstats" + ".gamblestats" ], "Submodule": "Gambling", "Module": "Gambling", @@ -6160,6 +6178,24 @@ "Options": null, "Requirements": [] }, + { + "Aliases": [ + ".translateflags", + ".trfl", + ".fltr", + ".transflags" + ], + "Description": "Toggles translate flags on the current channel.\nReacting with a country flag will translate the message to that country's language.", + "Usage": [ + ".translateflags" + ], + "Submodule": "TranslateCommands", + "Module": "Searches", + "Options": null, + "Requirements": [ + "ManageChannels Channel Permission" + ] + }, { "Aliases": [ ".xkcd" diff --git a/src/NadekoBot/data/gambling.yml b/src/NadekoBot/data/gambling.yml index 5c2b21c8b..768d4b788 100644 --- a/src/NadekoBot/data/gambling.yml +++ b/src/NadekoBot/data/gambling.yml @@ -1,5 +1,5 @@ # DO NOT CHANGE -version: 10 +version: 11 # Currency settings currency: # What is the emoji/character which represents the currency @@ -277,6 +277,7 @@ slots: # Bonus config for server boosts boostBonus: # Users will receive a bonus if they boost any of these servers - guildIds: [] + guildIds: + - 117523346618318850 # This bonus will be added before any other multiplier is applied to the .timely command baseTimelyBonus: 50