@@ -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
2430Stream <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
3038final 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);
0 commit comments