Skip to content

Commit a178b0f

Browse files
committed
Format
1 parent c2a0bb9 commit a178b0f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+2717
-2105
lines changed

bin/running_on_dart.dart

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,11 @@ void main(List<String> args) async {
3939

4040
commands.onCommandError.listen(handleException);
4141

42-
final client = await Nyxx.connectGateway(token, intents,
43-
options: GatewayClientOptions(
44-
plugins: [
45-
Logging(),
46-
CliIntegration(),
47-
IgnoreExceptions(),
48-
commands,
49-
pagination,
50-
],
51-
));
42+
final client = await Nyxx.connectGateway(
43+
token,
44+
intents,
45+
options: GatewayClientOptions(plugins: [Logging(), CliIntegration(), IgnoreExceptions(), commands, pagination]),
46+
);
5247

5348
await setupContainer(client);
5449

lib/src/checks.dart

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@ Future<(bool?, FeatureSetting?)> fetchAndCheckSetting(CommandContext context, Se
3535
return (true, null);
3636
}
3737

38-
final setting =
39-
await Injector.appInstance.get<FeatureSettingsRepository>().fetchSetting(settingToCheck, context.guild!.id);
38+
final setting = await Injector.appInstance.get<FeatureSettingsRepository>().fetchSetting(
39+
settingToCheck,
40+
context.guild!.id,
41+
);
4042
if (setting == null) {
4143
return (false, null);
4244
}
@@ -48,34 +50,30 @@ Future<(bool?, FeatureSetting?)> fetchAndCheckSetting(CommandContext context, Se
4850
return (null, setting);
4951
}
5052

51-
final jellyfinFeatureCreateInstanceCommandCheck = Check(
52-
(CommandContext context) async {
53-
final (checkResult, setting) = await fetchAndCheckSetting(context, Setting.jellyfin);
54-
if (checkResult != null) {
55-
return checkResult;
56-
}
53+
final jellyfinFeatureCreateInstanceCommandCheck = Check((CommandContext context) async {
54+
final (checkResult, setting) = await fetchAndCheckSetting(context, Setting.jellyfin);
55+
if (checkResult != null) {
56+
return checkResult;
57+
}
5758

58-
if (context.member?.permissions?.isAdministrator ?? false) {
59-
return true;
60-
}
59+
if (context.member?.permissions?.isAdministrator ?? false) {
60+
return true;
61+
}
6162

62-
final data = setting?.parseData<GenericInstanceData>();
63-
return context.member!.roleIds.contains(data?.createInstanceRole);
64-
},
65-
);
63+
final data = setting?.parseData<GenericInstanceData>();
64+
return context.member!.roleIds.contains(data?.createInstanceRole);
65+
});
6666

67-
final kavitaFeatureCreateInstanceCommandCheck = Check(
68-
(CommandContext context) async {
69-
final (checkResult, setting) = await fetchAndCheckSetting(context, Setting.kavita);
70-
if (checkResult != null) {
71-
return checkResult;
72-
}
67+
final kavitaFeatureCreateInstanceCommandCheck = Check((CommandContext context) async {
68+
final (checkResult, setting) = await fetchAndCheckSetting(context, Setting.kavita);
69+
if (checkResult != null) {
70+
return checkResult;
71+
}
7372

74-
if (context.member?.permissions?.isAdministrator ?? false) {
75-
return true;
76-
}
73+
if (context.member?.permissions?.isAdministrator ?? false) {
74+
return true;
75+
}
7776

78-
final data = setting?.parseData<GenericInstanceData>();
79-
return context.member!.roleIds.contains(data?.createInstanceRole);
80-
},
81-
);
77+
final data = setting?.parseData<GenericInstanceData>();
78+
return context.member!.roleIds.contains(data?.createInstanceRole);
79+
});

lib/src/commands/admin.dart

Lines changed: 68 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,26 @@ Future<MessageBuilder> createMessageBuilder(List<String> nicknames, String messa
1313
return MessageBuilder(content: "-/-");
1414
}
1515

16-
return pagination.split(nicknames.join(','), buildChunk: (String chunk) => MessageBuilder(content: """
16+
return pagination.split(
17+
nicknames.join(','),
18+
buildChunk:
19+
(String chunk) => MessageBuilder(
20+
content: """
1721
$messageHeader:
1822
```
1923
$chunk
2024
```
21-
"""));
25+
""",
26+
),
27+
);
2228
}
2329

2430
Stream<Member> searchMembers(String disallowedChar, int batchSize, Guild guild) {
25-
return (guild.manager.client as NyxxGateway)
26-
.gateway
27-
.listGuildMembers(guild.id, query: disallowedChar, limit: batchSize);
31+
return (guild.manager.client as NyxxGateway).gateway.listGuildMembers(
32+
guild.id,
33+
query: disallowedChar,
34+
limit: batchSize,
35+
);
2836
}
2937

3038
final admin = ChatGroup(
@@ -39,11 +47,12 @@ final admin = ChatGroup(
3947
@UseConverter(IntConverter(min: 1)) @Description('The number of messages to delete') int count, [
4048
@Description('The user from whom to delete messages') User? user,
4149
]) async {
42-
final messagesToDelete = await context.channel.messages
43-
.stream()
44-
.where((m) => user == null || user.id == m.author.id)
45-
.take(count)
46-
.toList();
50+
final messagesToDelete =
51+
await context.channel.messages
52+
.stream()
53+
.where((m) => user == null || user.id == m.author.id)
54+
.take(count)
55+
.toList();
4756

4857
await Future.wait(
4958
messagesToDelete
@@ -53,65 +62,67 @@ final admin = ChatGroup(
5362
.map((m) => context.channel.messages.bulkDelete(m)),
5463
);
5564

56-
await Future.wait(
57-
messagesToDelete.where((m) => !m.id.isBefore(Snowflake.firstBulk())).map((m) => m.delete()),
58-
);
65+
await Future.wait(messagesToDelete.where((m) => !m.id.isBefore(Snowflake.firstBulk())).map((m) => m.delete()));
5966

6067
await context.respond(MessageBuilder(content: 'Successfully deleted messages!'));
6168
}),
6269
checks: [PermissionsCheck(Permissions.manageMessages)],
63-
options: CommandsOptions(
64-
defaultResponseLevel: ResponseLevel.private,
65-
),
70+
options: CommandsOptions(defaultResponseLevel: ResponseLevel.private),
6671
),
6772
ChatCommand(
68-
"perform-nickname-pooping",
69-
"Perform pooping of usernames in current guild",
70-
id('perform-nickname-pooping', (ChatContext context, [bool dryRun = true, int batchSize = 100]) async {
71-
final poopModule = Injector.appInstance.get<PoopNameModule>();
73+
"perform-nickname-pooping",
74+
"Perform pooping of usernames in current guild",
75+
id('perform-nickname-pooping', (ChatContext context, [bool dryRun = true, int batchSize = 100]) async {
76+
final poopModule = Injector.appInstance.get<PoopNameModule>();
7277

73-
var nickNamesToRemove = <String>[];
74-
for (final disallowedChar in poopCharacters) {
75-
await for (final member in searchMembers(disallowedChar, batchSize, context.guild!)) {
76-
final (performed, nick) = await poopModule.poopMember(member, dryRun: dryRun);
77-
if (performed && (nick ?? '').isNotEmpty) {
78-
nickNamesToRemove.add(nick!);
79-
}
78+
var nickNamesToRemove = <String>[];
79+
for (final disallowedChar in poopCharacters) {
80+
await for (final member in searchMembers(disallowedChar, batchSize, context.guild!)) {
81+
final (performed, nick) = await poopModule.poopMember(member, dryRun: dryRun);
82+
if (performed && (nick ?? '').isNotEmpty) {
83+
nickNamesToRemove.add(nick!);
8084
}
8185
}
86+
}
8287

83-
final outPutMessageHeader = "Pooping nicknames ${dryRun ? "[DRY RUN]" : ""}";
84-
final messageBuilder = await createMessageBuilder(nickNamesToRemove, outPutMessageHeader);
88+
final outPutMessageHeader = "Pooping nicknames ${dryRun ? "[DRY RUN]" : ""}";
89+
final messageBuilder = await createMessageBuilder(nickNamesToRemove, outPutMessageHeader);
8590

86-
await context.respond(messageBuilder);
87-
}),
88-
checks: [
89-
GuildCheck.all(),
90-
PermissionsCheck(Permissions.manageNicknames),
91-
]),
92-
ChatGroup("system", "System administration commands", checks: [
93-
administratorCheck,
94-
administratorGuildCheck,
95-
], children: [
96-
ChatCommand(
97-
'reload-modules',
98-
'Reload modules',
99-
id('admin-reload-modules', (InteractionChatContext context) async {
100-
final modulesToReload = await context.getMultiSelection(
101-
reloadableModules.keys.toList(),
102-
MessageBuilder(content: 'Select modules to reload'),
103-
toSelectMenuOption: (value) => SelectMenuOptionBuilder(label: value, value: value),
104-
);
91+
await context.respond(messageBuilder);
92+
}),
93+
checks: [GuildCheck.all(), PermissionsCheck(Permissions.manageNicknames)],
94+
),
95+
ChatGroup(
96+
"system",
97+
"System administration commands",
98+
checks: [administratorCheck, administratorGuildCheck],
99+
children: [
100+
ChatCommand(
101+
'reload-modules',
102+
'Reload modules',
103+
id('admin-reload-modules', (InteractionChatContext context) async {
104+
final modulesToReload = await context.getMultiSelection(
105+
reloadableModules.keys.toList(),
106+
MessageBuilder(content: 'Select modules to reload'),
107+
toSelectMenuOption: (value) => SelectMenuOptionBuilder(label: value, value: value),
108+
);
105109

106-
final stopwatch = Stopwatch()..start();
107-
final reloadFunctions =
108-
modulesToReload.map((m) => reloadableModules[m]).nonNulls.map((m) => m()).map((r) => r.reload());
109-
await Future.wait(reloadFunctions);
110+
final stopwatch = Stopwatch()..start();
111+
final reloadFunctions = modulesToReload
112+
.map((m) => reloadableModules[m])
113+
.nonNulls
114+
.map((m) => m())
115+
.map((r) => r.reload());
116+
await Future.wait(reloadFunctions);
110117

111-
return context.respond(MessageBuilder(
112-
content: 'Reloaded ${reloadFunctions.length} modules. Took ${stopwatch.elapsed.formatShort()}'));
113-
}),
114-
)
115-
]),
118+
return context.respond(
119+
MessageBuilder(
120+
content: 'Reloaded ${reloadFunctions.length} modules. Took ${stopwatch.elapsed.formatShort()}',
121+
),
122+
);
123+
}),
124+
),
125+
],
126+
),
116127
],
117128
);

lib/src/commands/avatar.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ final avatar = ChatCommand(
1414
if (showGuildProfile && context.guild != null) {
1515
final targetMember = await context.guild?.members.get(targetUser.id);
1616

17-
return context
18-
.respond(MessageBuilder(content: targetMember?.avatar?.url.toString() ?? 'Cannot get member avatar.'));
17+
return context.respond(
18+
MessageBuilder(content: targetMember?.avatar?.url.toString() ?? 'Cannot get member avatar.'),
19+
);
1920
}
2021

2122
return context.respond(MessageBuilder(content: targetUser.avatar.url.toString()));

lib/src/commands/docs.dart

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@ List<MessageBuilder> _getPaginationBuilders(Iterable<DocEntry> searchResults, St
2727

2828
return foldedResults.asMap().entries.map((entry) {
2929
final embed = EmbedBuilder(
30-
color: getRandomColor(),
31-
title: 'Search results - $query',
32-
fields: [
33-
EmbedFieldBuilder(
34-
name: 'Results in ${package != null ? 'package ${package.packageName}' : 'all packages'}',
35-
value: entry.value.join('\n'),
36-
isInline: false),
37-
],
38-
footer: EmbedFooterBuilder(text: 'Page ${entry.key + 1} of $pageCount'));
30+
color: getRandomColor(),
31+
title: 'Search results - $query',
32+
fields: [
33+
EmbedFieldBuilder(
34+
name: 'Results in ${package != null ? 'package ${package.packageName}' : 'all packages'}',
35+
value: entry.value.join('\n'),
36+
isInline: false,
37+
),
38+
],
39+
footer: EmbedFooterBuilder(text: 'Page ${entry.key + 1} of $pageCount'),
40+
);
3941

4042
return MessageBuilder(embeds: [embed]);
4143
}).toList();
@@ -58,13 +60,14 @@ final docs = ChatGroup(
5860
@Description('The element to get documentation for') DocEntry element,
5961
) async {
6062
final embed = EmbedBuilder(
61-
color: getRandomColor(),
62-
title: '${element.displayName} ${element.type}',
63-
description: '''
63+
color: getRandomColor(),
64+
title: '${element.displayName} ${element.type}',
65+
description: '''
6466
Documentation: [${element.name}](${element.urlToDocs})
6567
Package: [${element.packageName}](https://pub.dev/packages/${element.packageName})
6668
''',
67-
footer: EmbedFooterBuilder(text: element.qualifiedName));
69+
footer: EmbedFooterBuilder(text: element.qualifiedName),
70+
);
6871

6972
await context.respond(MessageBuilder(embeds: [embed]));
7073
}),
@@ -80,13 +83,16 @@ Package: [${element.packageName}](https://pub.dev/packages/${element.packageName
8083
final searchResults = Injector.appInstance.get<DocsModule>().search(query, package);
8184

8285
if (searchResults.isEmpty) {
83-
await context.respond(MessageBuilder(
84-
embeds: [EmbedBuilder(title: 'No results', color: DiscordColor.parseHexString("#FF0000"))]));
86+
await context.respond(
87+
MessageBuilder(embeds: [EmbedBuilder(title: 'No results', color: DiscordColor.parseHexString("#FF0000"))]),
88+
);
8589
return;
8690
}
8791

88-
final paginator =
89-
await pagination.builders(_getPaginationBuilders(searchResults, query, package), userId: context.user.id);
92+
final paginator = await pagination.builders(
93+
_getPaginationBuilders(searchResults, query, package),
94+
userId: context.user.id,
95+
);
9096

9197
await context.respond(paginator);
9298
}),

0 commit comments

Comments
 (0)