diff --git a/Kehyeedra3/Command handler.cs b/Kehyeedra3/Command handler.cs
index 024362d..9aa8f64 100644
--- a/Kehyeedra3/Command handler.cs
+++ b/Kehyeedra3/Command handler.cs
@@ -130,6 +130,30 @@ namespace Kehyeedra3
var jojoke = WeebClient.DownloadString("https://api.skuldbot.uk/fun/jojoke/?raw");
await context.Channel.SendMessageAsync($"{context.User.Mention} is that a fucksnifflerling {jojoke} reference?");
}
+
+ if (message.Channel is IGuildChannel chan)
+ {
+ var perms = chan.GetPermissionOverwrite(_bot.CurrentUser);
+ if (perms.HasValue)
+ {
+ if (perms.Value.SendMessages == PermValue.Deny) return;
+ }
+ var botGuild = _bot.GetGuild(chan.GuildId).GetUser(_bot.CurrentUser.Id);
+ bool exit = false;
+
+ botGuild.Roles.OrderByDescending(x => x.Position).ToList().ForEach(x =>
+ {
+ perms = chan.GetPermissionOverwrite(x);
+
+ if (perms.HasValue)
+ {
+ if (perms.Value.SendMessages == PermValue.Deny) { exit = true; return; }
+ }
+ });
+
+ if (exit) return;
+ }
+
if (!(message.HasStringPrefix(Configuration.Load().Prefix, ref argPos))) return;
{
var result = await _cmds.ExecuteAsync(context, argPos, _dmap);
diff --git a/Kehyeedra3/Kehyeedra3.csproj b/Kehyeedra3/Kehyeedra3.csproj
index 7be0c79..53e3abe 100644
--- a/Kehyeedra3/Kehyeedra3.csproj
+++ b/Kehyeedra3/Kehyeedra3.csproj
@@ -2,14 +2,16 @@
Exe
- netcoreapp2.1
+ netcoreapp3.1
+ 2020.4.0.0
+ 2020.4.0.0
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Kehyeedra3/Properties/PublishProfiles/FolderProfile.pubxml b/Kehyeedra3/Properties/PublishProfiles/FolderProfile.pubxml
index 43cdeac..81b49b2 100644
--- a/Kehyeedra3/Properties/PublishProfiles/FolderProfile.pubxml
+++ b/Kehyeedra3/Properties/PublishProfiles/FolderProfile.pubxml
@@ -7,9 +7,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
FileSystem
Release
Any CPU
- netcoreapp2.1
- bin\Release\netcoreapp2.1\publish\
+ netcoreapp3.1
+ bin\Release\netcoreapp3.1\publish\
win-x64
false
+ True
+ False
\ No newline at end of file
diff --git a/Kehyeedra3/Services/ReminderService.cs b/Kehyeedra3/Services/ReminderService.cs
index f15930b..f9a43ce 100644
--- a/Kehyeedra3/Services/ReminderService.cs
+++ b/Kehyeedra3/Services/ReminderService.cs
@@ -15,27 +15,31 @@ namespace Kehyeedra3.Services
}
public async Task Tick()
{
- using (var Database = new ApplicationDbContextFactory().CreateDbContext())
+ while (true)
{
- List toRemove = new List();
- while (true)
+ using (var Database = new ApplicationDbContextFactory().CreateDbContext())
{
+ var reminders = Database.Reminders.ToList();
if(Database.Reminders.Any() && Bot._bot != null && Bot._bot.ConnectionState == Discord.ConnectionState.Connected)
{
- foreach(var x in Database.Reminders)
+ bool hasChanged = false;
+ foreach (var x in reminders)
{
if (x.Send <= DateTime.UtcNow.ToYeedraStamp())
{
await SendReminderAsync(x).ConfigureAwait(false);
- toRemove.Add(x);
+ Database.Reminders.Remove(x);
+ hasChanged = true;
}
}
- Database.Reminders.RemoveRange(toRemove);
- await Database.SaveChangesAsync().ConfigureAwait(false);
- toRemove.Clear();
+
+ if (hasChanged)
+ {
+ await Database.SaveChangesAsync().ConfigureAwait(false);
+ }
}
- await Task.Delay(250);
}
+ await Task.Delay(250);
}
}
}