fluffychat/lib/pangea/chat_settings/utils/bot_client_extension.dart
ggurdin ef42cf5cee
chore: changes to chat list main view (#4158)
* chore: changes to chat list main view

* remove onboarding page
2025-09-26 13:23:03 -04:00

31 lines
1 KiB
Dart

import 'package:matrix/matrix.dart';
import 'package:fluffychat/pangea/bot/utils/bot_name.dart';
import 'package:fluffychat/pangea/chat/constants/default_power_level.dart';
import 'package:fluffychat/pangea/chat_settings/constants/bot_mode.dart';
import 'package:fluffychat/pangea/chat_settings/models/bot_options_model.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
extension BotClientExtension on Client {
bool get hasBotDM => rooms.any((room) {
if (room.isDirectChat &&
room.directChatMatrixID == BotName.byEnvironment) {
return true;
}
if (room.botOptions?.mode == BotMode.directChat) {
return true;
}
return false;
});
Future<String> startChatWithBot() => startDirectChat(
BotName.byEnvironment,
preset: CreateRoomPreset.trustedPrivateChat,
initialState: [
BotOptionsModel(mode: BotMode.directChat).toStateEvent,
RoomDefaults.defaultPowerLevels(
userID!,
),
],
);
}