Skip to content

Commit 2d50c1b

Browse files
committed
Pushing final changes before rewrite
1 parent 4c7714a commit 2d50c1b

File tree

4 files changed

+33
-3
lines changed

4 files changed

+33
-3
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System.Threading.Tasks;
2+
using Disqord;
3+
using Qmmands;
4+
5+
namespace Espeon
6+
{
7+
public class NotOwnerAttribute : ParameterCheckAttribute {
8+
public override async ValueTask<CheckResult> CheckAsync(object argument, CommandContext _) {
9+
if (argument is not IMember member) {
10+
return CheckResult.Unsuccessful("Check can only be applied to a member");
11+
}
12+
13+
var context = (EspeonCommandContext) _;
14+
var application = await context.Bot.GetCurrentApplicationAsync();
15+
return member.Id == application.Owner.Id
16+
? CheckResult.Unsuccessful("Bot owner cannot be the target, tehe")
17+
: CheckResult.Successful;
18+
}
19+
}
20+
}

src/Commands/Modules/MiscModule.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,5 +187,15 @@ public async Task PepoWhatIfAsync(uint size = 0) {
187187
await ReplyAsync(INVALID_PEPOWHATIF_SIZE);
188188
}
189189
}
190+
191+
[Name("Trinit")]
192+
[Description("Treats a user as if they were Trinit")]
193+
[Command("trinit", "tnt", "trinitrotoluene")]
194+
[RequireBotGuildPermissions(Permission.BanMembers)]
195+
[RequireMemberGuildPermissions(Permission.BanMembers)]
196+
public async Task TrinitAsync([Remainder] [NotOwner] IMember member) {
197+
await member.BanAsync("They're trinit");
198+
await member.UnbanAsync(RestRequestOptions.FromReason("Cried to Quahu"));
199+
}
190200
}
191201
}

src/Services/ReminderService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public async Task CancelReminderAsync(EspeonDbContext context, UserReminder remi
5959
await context.RemoveAsync(reminder);
6060
this._reminderByUserId.AddOrUpdate(
6161
reminder.UserId,
62-
(_, __) => new HashSet<UserReminder>(),
62+
(_, _) => new HashSet<UserReminder>(),
6363
(_, set, reminder) => {
6464
set.Remove(reminder);
6565
return set;
@@ -70,7 +70,7 @@ public async Task CancelReminderAsync(EspeonDbContext context, UserReminder remi
7070
}
7171

7272
public IEnumerable<UserReminder> GetRemindersForUser(ulong userId) {
73-
return this._reminderByUserId.TryGetValue(userId, out var reminders) ? reminders : null;
73+
return this._reminderByUserId.TryGetValue(userId, out var reminders) ? reminders : Array.Empty<UserReminder>();
7474
}
7575

7676
private void ScheduleReminder(UserReminder reminder) {

src/Services/ServiceExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static IServiceCollection ConfigureSection<T>(this IServiceCollection col
2424
}
2525

2626
public static IServiceCollection AddOnReadyService<T>(this IServiceCollection collection) where T : class, IOnReadyService {
27-
return collection.AddSingleton<IOnReadyService, T>()
27+
return collection.AddSingleton<IOnReadyService, T>(provider => provider.GetService<T>())
2828
.AddSingleton<T>();
2929
}
3030

0 commit comments

Comments
 (0)