mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-13 10:48:26 -04:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
23c8dc00e8 | ||
|
0da8190637 | ||
|
d766295286 | ||
|
21e3c64e01 | ||
|
9ddcd6d89e | ||
|
a154d5881c |
10
CHANGELOG.md
10
CHANGELOG.md
@@ -2,7 +2,15 @@
|
|||||||
|
|
||||||
Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except date format. a-c-f-r-o
|
Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except date format. a-c-f-r-o
|
||||||
|
|
||||||
## [5.0.3] - 10.05.2024
|
## [5.0.5] - 11.05.2024
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- `%server.members%` placeholder fixed
|
||||||
|
- `.say #channel <message>` should now be working properly again
|
||||||
|
- `.repeat`, `.greet`, `.bye` and `.boost` command can now once again mention anyone
|
||||||
|
|
||||||
|
## [5.0.4] - 10.05.2024
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
@@ -15,11 +15,13 @@
|
|||||||
|
|
||||||
##### Compatible operating systems:
|
##### Compatible operating systems:
|
||||||
|
|
||||||
- Ubuntu: 20.04, 22.04, 22.10 +
|
- Ubuntu: 16.04, 18.04, 20.04, 21.04, 21.10, 22.04
|
||||||
- Debian: 11 +
|
- Mint: 19, 20
|
||||||
- CentOS: 7
|
- Debian: 10, 11, 12
|
||||||
- openSUSE 15
|
- RockyLinux: 8, 9
|
||||||
- Fedora: 33, 34, 35
|
- AlmaLinux: 8, 9
|
||||||
|
- openSUSE Leap: 15.5, 15.6 & Tumbleweed
|
||||||
|
- Fedora: 38, 39, 40, 41, 42
|
||||||
|
|
||||||
## Linux From Source
|
## Linux From Source
|
||||||
|
|
||||||
|
@@ -93,8 +93,12 @@ Open PowerShell as described above and run the following commands:
|
|||||||
- ⚠️ Make sure you don't have your database, credentials or any other nadekobot folder open in some application, this might prevent some of the steps from executing succesfully
|
- ⚠️ Make sure you don't have your database, credentials or any other nadekobot folder open in some application, this might prevent some of the steps from executing succesfully
|
||||||
2. Navigate to your bot's folder, example:
|
2. Navigate to your bot's folder, example:
|
||||||
- `cd ~/Desktop/nadekobot`
|
- `cd ~/Desktop/nadekobot`
|
||||||
3. Pull the new version
|
3. Pull the new version, and make sure you're on the v5 branch
|
||||||
- `git pull`
|
- *⚠️ the first 3 lines can be omitted if you're already on v5. If you're updating from v4, you must run them*
|
||||||
|
- `git remote set-branches origin '*'`
|
||||||
|
- `git fetch -v --depth=1`
|
||||||
|
- `git checkout v5`
|
||||||
|
- `git pull`
|
||||||
- ⚠️ If this fails, you may want to stash or remove your code changes if you don't know how to resolve merge conflicts
|
- ⚠️ If this fails, you may want to stash or remove your code changes if you don't know how to resolve merge conflicts
|
||||||
4. **Backup** old output in case your data is overwritten
|
4. **Backup** old output in case your data is overwritten
|
||||||
- `cp -r -fo output/ output-old`
|
- `cp -r -fo output/ output-old`
|
||||||
|
@@ -97,7 +97,7 @@ public class GreetService : INService, IReadyExecutor
|
|||||||
{
|
{
|
||||||
var newContent = await _repSvc.ReplaceAsync(toSend,
|
var newContent = await _repSvc.ReplaceAsync(toSend,
|
||||||
new(client: _client, guild: user.Guild, channel: channel, users: user));
|
new(client: _client, guild: user.Guild, channel: channel, users: user));
|
||||||
var toDelete = await _sender.Response(channel).Text(newContent).SendAsync();
|
var toDelete = await _sender.Response(channel).Text(newContent).Sanitize(false).SendAsync();
|
||||||
if (conf.BoostMessageDeleteAfter > 0)
|
if (conf.BoostMessageDeleteAfter > 0)
|
||||||
toDelete.DeleteAfter(conf.BoostMessageDeleteAfter);
|
toDelete.DeleteAfter(conf.BoostMessageDeleteAfter);
|
||||||
|
|
||||||
@@ -217,7 +217,7 @@ public class GreetService : INService, IReadyExecutor
|
|||||||
text = await _repSvc.ReplaceAsync(text, repCtx);
|
text = await _repSvc.ReplaceAsync(text, repCtx);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var toDelete = await _sender.Response(channel).Text(text).SendAsync();
|
var toDelete = await _sender.Response(channel).Text(text).Sanitize(false).SendAsync();
|
||||||
if (conf.AutoDeleteByeMessagesTimer > 0)
|
if (conf.AutoDeleteByeMessagesTimer > 0)
|
||||||
toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer);
|
toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer);
|
||||||
}
|
}
|
||||||
@@ -258,7 +258,7 @@ public class GreetService : INService, IReadyExecutor
|
|||||||
text = await _repSvc.ReplaceAsync(text, repCtx);
|
text = await _repSvc.ReplaceAsync(text, repCtx);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var toDelete = await _sender.Response(channel).Text(text).SendAsync();
|
var toDelete = await _sender.Response(channel).Text(text).Sanitize(false).SendAsync();
|
||||||
if (conf.AutoDeleteGreetMessagesTimer > 0)
|
if (conf.AutoDeleteGreetMessagesTimer > 0)
|
||||||
toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer);
|
toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer);
|
||||||
}
|
}
|
||||||
@@ -360,7 +360,7 @@ public class GreetService : INService, IReadyExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await _sender.Response(user).Text(smartText).SendAsync();
|
await _sender.Response(user).Text(smartText).Sanitize(false).SendAsync();
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -573,8 +573,6 @@ public class GreetService : INService, IReadyExecutor
|
|||||||
|
|
||||||
public bool SetBoostMessage(ulong guildId, ref string message)
|
public bool SetBoostMessage(ulong guildId, ref string message)
|
||||||
{
|
{
|
||||||
message = message.SanitizeMentions();
|
|
||||||
|
|
||||||
using var uow = _db.GetDbContext();
|
using var uow = _db.GetDbContext();
|
||||||
var conf = uow.GuildConfigsForId(guildId, set => set);
|
var conf = uow.GuildConfigsForId(guildId, set => set);
|
||||||
conf.BoostMessage = message;
|
conf.BoostMessage = message;
|
||||||
|
@@ -269,7 +269,11 @@ public sealed class RepeaterService : IReadyExecutor, INService
|
|||||||
var text = SmartText.CreateFrom(repeater.Message);
|
var text = SmartText.CreateFrom(repeater.Message);
|
||||||
text = await _repSvc.ReplaceAsync(text, repCtx);
|
text = await _repSvc.ReplaceAsync(text, repCtx);
|
||||||
|
|
||||||
var newMsg = await _sender.Response(channel).Text(text).SendAsync();
|
var newMsg = await _sender.Response(channel)
|
||||||
|
.Text(text)
|
||||||
|
.Sanitize(false)
|
||||||
|
.SendAsync();
|
||||||
|
|
||||||
_ = newMsg.AddReactionAsync(new Emoji("🔄"));
|
_ = newMsg.AddReactionAsync(new Emoji("🔄"));
|
||||||
|
|
||||||
if (_noRedundant.Contains(repeater.Id))
|
if (_noRedundant.Contains(repeater.Id))
|
||||||
|
@@ -85,6 +85,7 @@ public partial class Utility : NadekoModule
|
|||||||
|
|
||||||
await Response()
|
await Response()
|
||||||
.Text(message)
|
.Text(message)
|
||||||
|
.Channel(channel)
|
||||||
.UserBasedMentions()
|
.UserBasedMentions()
|
||||||
.SendAsync();
|
.SendAsync();
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>true</ImplicitUsings>
|
<ImplicitUsings>true</ImplicitUsings>
|
||||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||||
<Version>5.0.4</Version>
|
<Version>5.0.5</Version>
|
||||||
|
|
||||||
<!-- Output/build -->
|
<!-- Output/build -->
|
||||||
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
|
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
|
||||||
|
@@ -40,7 +40,7 @@ public sealed partial class ReplacementPatternStore
|
|||||||
Register("%server.id%", static (IGuild g) => g.Id.ToString());
|
Register("%server.id%", static (IGuild g) => g.Id.ToString());
|
||||||
Register("%server.name%", static (IGuild g) => g.Name);
|
Register("%server.name%", static (IGuild g) => g.Name);
|
||||||
Register("%server.icon%", static (IGuild g) => g.IconUrl);
|
Register("%server.icon%", static (IGuild g) => g.IconUrl);
|
||||||
Register("%server.members%", static (IGuild g) => g.ApproximateMemberCount?.ToString() ?? "?");
|
Register("%server.members%", static async (IGuild g) => (g as SocketGuild)?.MemberCount.ToString() ?? "?");
|
||||||
Register("%server.boosters%", static (IGuild g) => g.PremiumSubscriptionCount.ToString());
|
Register("%server.boosters%", static (IGuild g) => g.PremiumSubscriptionCount.ToString());
|
||||||
Register("%server.boost_level%", static (IGuild g) => ((int)g.PremiumTier).ToString());
|
Register("%server.boost_level%", static (IGuild g) => ((int)g.PremiumTier).ToString());
|
||||||
}
|
}
|
||||||
|
@@ -357,9 +357,10 @@ public sealed partial class ResponseBuilder
|
|||||||
fileName = name;
|
fileName = name;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PaginatedResponseBuilder Paginated()
|
public PaginatedResponseBuilder Paginated()
|
||||||
=> new(this);
|
=> new(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PaginatedResponseBuilder
|
public class PaginatedResponseBuilder
|
||||||
|
Reference in New Issue
Block a user