flutter_chat_kits library
Classes
- AudioMessage
- BaseNotifier
- BotProfile
- BotProfileKeys
- ChatAiAudioReplyRequest
- ChatAiComeBackMessageRequest
- ChatAiDelegate
- ChatAiFirstMessageRequest
- ChatAiImageReplyRequest
- ChatAiLeaveMessageRequest
- ChatAiLinkReplyRequest
- ChatAiReplyRequest
- ChatAiRequest
- ChatAiTextReplyRequest
- ChatAiVideoReplyRequest
- ChatAppbar
- ChatAppbarData
- ChatCacheDelegate
- ChatConnectionBanner
- Watches RoomManager connectivity + pending queue and rebuilds when either changes. Pass a builder to render your own banner UI; or use the default banner via ChatConnectionBanner.defaultBuilder.
- ChatCustomNotification
- ChatDeleteMessageNotification
- ChatErrorReporter
- Pluggable error reporter. App provides an implementation (Crashlytics, Sentry, custom logger) and chat layer routes all caught exceptions to it instead of swallowing them silently.
- ChatFieldValueNormalizer
- ChatHelper
- ChatInbox
- ChatManager
- ChatMessage
- ChatMessageDelegate
- ChatModelConfigs
- ChatNewMessageNotification
- ChatNewRoomNotification
- ChatNotification
- ChatNotificationContent
- ChatNotificationDelegate
- ChatProfileDelegate
- ChatRoomDelegate
- ChatSilentNotification
- ChatStatusDelegate
- ChatTypingDelegate
- ChatUserSettingsDelegate
- ChatValue
- ChatValueAdd
- ChatValueDelete
- ChatValueIncrement
- ChatValueRemove
- ChatValueTimestamp
- ChatVisibilityScope
- CustomMessage
- DefaultChatErrorReporter
- Default reporter — logs to debug console only. Suitable for dev builds. Production apps should provide a real reporter via RoomManager.init.
- DirectRoom
- FileUploadHelper
- Static helpers for inferring file extensions and storage-prefix labels from file paths and MessageType fallbacks.
- GroupRoom
- ImageMessage
- LinkMessage
- Message
- MessageKeys
- MessageUploadData
- PaginatedMessageStream
- A message stream with pagination control.
- Profile
- RetryHelper
- Retries an async operation with exponential backoff and jitter.
- Room
- RoomKeys
- RoomManager
- RoomManagerBase
- Status
- StatusKeys
- TextMessage
- Typing
- TypingKeys
- UserProfile
- UserProfileKeys
- VideoMessage
- VisibilityInfo
Enums
- ChatConnectionState
- Connection state for banner rendering.
- MessageStatus
- MessageType
Mixins
- AutoRefreshMixin
- BotResponseMixin
- ManagerLifecycleMixin
- MessageMixin
- NotificationMixin
- OfflineQueueMixin
- Queues messages locally when offline and replays them when connectivity is restored. Each entry preserves the original message + notification settings so the eventual send is identical to a live send.
- ParticipantMixin
- PresenceMixin
- RoomCrudMixin
- RoomToggleMixin
- RoomUpdateMixin
- SubscriptionMixin
- TokenMixin
Extensions
Constants
- kBotPrefix → const String
Properties
- currentPlatform → String
-
no setter
Typedefs
- ChatConnectionBannerBuilder = Widget Function(BuildContext context, ChatConnectionState state, int pendingCount)
- Builder for the connection banner. Receives the current state and queued message count so apps can render their own design.
- ChatInboxDirectBuilder = Widget Function(BuildContext context, DirectRoom room, Profile profile, Status status, Typing? typing)
-
ChatInboxGroupBuilder
= Widget Function(BuildContext context, GroupRoom room, Profile profile, Status status, List<
Typing> typings) - ChatInboxVisibilityBuilder = Widget Function(BuildContext context, String id, Widget child, ChatInboxVisibilityCallback callback)
- ChatInboxVisibilityCallback = void Function(VisibilityInfo info)
-
ChatMessageBuilder<
T extends Message> = Widget Function(BuildContext context, T message) - ChatMessageVisibilityCallback = void Function(VisibilityInfo info)
- ChatMessageVisibilityDetectorBuilder = Widget Function(BuildContext context, String id, Widget child, ChatMessageVisibilityCallback callback)
-
MessageExtra
= Map<
String, dynamic> -
NotificationSender
= Future<
Profile?> Function() -
OnChatPageOpeningCallback<
T extends Object?> = Future< T?> Function(ChatManager manager) - OnDeniedToSendMessage = void Function(Room room)
- OnDeniedToSendNotification = void Function(Room, UserProfile)
-
ProfileExtra
= Map<
String, dynamic> -
RoomExtra
= Map<
String, dynamic> - VerifyToSendMessage = bool Function(Room room)
- VerifyToSendNotification = bool Function(Room, UserProfile)