dmOr function
A wrapper function for prefixes that allows commands to be invoked from messages without a prefix in Direct Messages.
For example:
CommandsPlugin commands = CommandsPlugin(
prefix: dmOr((_) => '!'),
);
// Add a basic `test` command...
Implementation
Future<String> Function(MessageCreateEvent) dmOr(
FutureOr<String> Function(MessageCreateEvent) defaultPrefix) {
return (event) async {
String found = await defaultPrefix(event);
if (event.guild != null || StringView(event.message.content).skipString(found)) {
return found;
}
return '';
};
}