CometChat class

Flutter wrapper for using CometChat SDK.

for more information on how to use wrapper effectively.

Constructors

CometChat(String appId, {@Deprecated('The authKey is deprecated due to security concerns. Please use [otherMethod] instead.') String? authKey, String region = 'us'})
Constructor for creating CometChat object appId refers to your CometChat App ID. region The region where the app was created.

Properties

appId → String
final
authKey → String?
Use this only for testing purpose
final
hashCode → int
The hash code for this object.
no setterinherited
region → String
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

nativeStream ↔ Stream?
This is stream channel to receiver messages
getter/setter pair

Static Methods

acceptCall(String sessionID, {required dynamic onSuccess(Call call)?, required dynamic onError(CometChatException excep)}) → void
addAIAssistantListener(String listenerId, AIAssistantListener listenerClass) → dynamic
Call-SDK-changes
addCallListener(String listenerId, CallListener listenerClass) → dynamic
Call-SDK-changes
addConnectionListener(String listenerId, ConnectionListener listenerClass) → dynamic
The ConnectionListener class provides you with all the status of the connection to CometChat web-socket servers
addGroupListener(String listenerId, GroupListener listenerClass) → dynamic
The GroupListener class provides you with all the real-time events related to groups
addloginListener(String listenerId, LoginListener listenerClass) → dynamic
The LoginListener class provides you with all the real-time updates for the login and logout events
addMembersToGroup({required String guid, required List<GroupMember> groupMembers, required dynamic onSuccess(Map<String?, String?> result)?, required dynamic onError(CometChatException excep)?}) → Future<Map<String?, String?>?>
Add members to the group
addMessageListener(String listenerId, MessageListener listenerClass) → dynamic
For every activity or fragment you wish to receive messages in, you need to register the MessageListener
addReaction(int messageId, String reaction, {required dynamic onSuccess(BaseMessage)?, required dynamic onError(CometChatException excep)?}) → Future<BaseMessage?>
Add a reaction to a message.
addUserListener(String listenerId, UserListener listenerClass) → dynamic
The UserListener class provides you with live events related to users listenerId unique id for listener
askBot(String receiverId, String receiverType, String botId, String question, {Map? configuration, required dynamic onSuccess(String conversationSummary), required dynamic onError(CometChatException excep)}) → Future<void>
banGroupMember({required String guid, required String uid, required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
Admin or Moderator of a group can ban a member of the group
blockUser(List<String>? uids, {required dynamic onSuccess(Map<String, dynamic> map)?, required dynamic onError(CometChatException excep)?}) → Future<Map<String, dynamic>?>
Block a user from sending logged-in user any messages.
callExtension(String slug, String requestType, String endPoint, Map<String, dynamic>? body, {required dynamic onSuccess(Map<String, dynamic> map)?, required dynamic onError(CometChatException excep)?}) → Future<Map<String, dynamic>?>
can call any extension
clearActiveCall() → Future<void>
connect({dynamic onSuccess(String result)?, dynamic onError(CometChatException excep)?}) → Future<Null>
will establish the Web-socket connections manually
createGroup({required Group group, required dynamic onSuccess(Group group)?, required dynamic onError(CometChatException excep)?}) → Future<Group?>
Returns a Group object after creating in CometChat API.
createGroupWithMembers({required Group group, required List<GroupMember> groupMembers, List<String> bannedUserIds = const [], dynamic onSuccess(Group group)?, dynamic onError(CometChatException excep)?}) → Future<Group?>
Creates a group in CometChat along with initial members and returns the created Group.
createUser(User user, String authKey, {required dynamic onSuccess(User user)?, required dynamic onError(CometChatException excep)?}) → Future<User?>
Method returns user after creation in cometchat environment
deleteConversation(String conversationWith, String conversationType, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → dynamic
Method deletes the conversation only for the logged-in user.
deleteGroup(String guid, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
In order to delete a group.
deleteMessage(int messageId, {required dynamic onSuccess(BaseMessage)?, required dynamic onError(CometChatException excep)?}) → Future<void>
Deletes the message with specified messageId.
disconnect({dynamic onSuccess(String result)?, dynamic onError(CometChatException excep)?}) → Future<Null>
will disable the Web-socket connections manually
editMessage(BaseMessage message, {required dynamic onSuccess(BaseMessage)?, required dynamic onError(CometChatException excep)?}) → dynamic
edit a message, you can use the editMessage() method
endCall(String sessionID, {required dynamic onSuccess(Call call)?, required dynamic onError(CometChatException excep)}) → void
endTyping({String? receaverUid, String? receiverUid, String? receiverType}) → dynamic
method to inform the receiver that the logged in user has ended typing.
flagMessage(int messageId, FlagDetail detail, {dynamic onSuccess(String result)?, dynamic onError(CometChatException excep)?}) → Future<String?>
getActiveCall() → Future<Call?>
getConnectionStatus() → Future<String>
getConversation(String conversationWith, String conversationType, {required dynamic onSuccess(Conversation conversation)?, required dynamic onError(CometChatException excep)?}) → Future<Conversation?>
In order to fetch a specific conversation
getConversationFromMessage(BaseMessage message, {required dynamic onSuccess(Conversation conversation)?, required dynamic onError(CometChatException excep)?}) → Future<Conversation?>
get the conversation object from message object.
getConversationStarter(String receiverId, String receiverType, {Map? configuration, required dynamic onSuccess(List<String> conversationStarters), required dynamic onError(CometChatException excep)}) → Future<void>
getConversationSummary(String receiverId, String receiverType, {Map? configuration, required dynamic onSuccess(String conversationSummary), required dynamic onError(CometChatException excep)}) → Future<void>
getConversationUpdateSettings({dynamic onSuccess(ConversationUpdateSettings)?, dynamic onError(CometChatException excep)?}) → Future<ConversationUpdateSettings>
Retrieves the ConversationUpdateSettings object to enable or disable certain features.
getFlagReasons({dynamic onSuccess(List<FlagReason> reasons)?, dynamic onError(CometChatException excep)?}) → Future<List<FlagReason>?>
Retrieves the list of flag reasons available for reporting content.
getGroup(String guid, {required dynamic onSuccess(Group group)?, required dynamic onError(CometChatException excep)?}) → Future<Group?>
Retrieve information for a specific group
getLastDeliveredMessageId({dynamic onSuccess(int lastMessageId)?}) → Future<int?>
getLoggedInUser({dynamic onSuccess(User user)?, dynamic onError(CometChatException excep)?}) → Future<User?>
Returns logged in User Object
getMessageReceipts(int messageId, {required dynamic onSuccess(List<MessageReceipt> messageReceipt)?, required dynamic onError(CometChatException excep)?}) → Future<List<MessageReceipt>?>
Method to get message receipts.
getOnlineGroupMemberCount(List<String> guids, {required dynamic onSuccess(Map<String, int> result)?, required dynamic onError(CometChatException excep)?}) → Future<Map<String, int>?>
get the total count of online users in particular groups
getOnlineUserCount({required dynamic onSuccess(int lastMessageId)?, required dynamic onError(CometChatException excep)?}) → Future<int?>
get the total count of online users for your app
getSmartReplies(String receiverId, String receiverType, {Map? configuration, required dynamic onSuccess(HashMap<String, String>), required dynamic onError(CometChatException excep)}) → Future<void>
getUnreadMessageCount({bool? hideMessagesFromBlockedUsers, dynamic onSuccess(Map<String, Map<String, int>> message)?, dynamic onError(CometChatException excep)?}) → Future<Map<String, Map<String, int>>?>
Gives count of unread messages for every one-on-one and group conversation.
getUnreadMessageCountForAllGroups({bool? hideMessagesFromBlockedUsers, dynamic onSuccess(Map<String, int> result)?, dynamic onError(CometChatException excep)?}) → Future<Map<String, int>?>
Gives count of unread messages for every one-on-one and group conversation.
getUnreadMessageCountForAllUsers({bool? hideMessagesFromBlockedUsers, dynamic onSuccess(Map<String, int> result)?, dynamic onError(CometChatException excep)?}) → Future<Map<String, int>?>
Gives count of unread messages for every one-on-one and group conversation.
getUnreadMessageCountForGroup({required String guid, bool? hideMessagesFromBlockedUsers, dynamic onSuccess(Map<String, int> result)?, dynamic onError(CometChatException excep)?}) → Future<Map<String, int>?>
Gives count of unread messages for every one-on-one and group conversation.
getUser(String uid, {required dynamic onSuccess(User user)?, required dynamic onError(CometChatException excep)?}) → Future<User?>
Retrieve Particular User Details
getUserAuthToken() → Future<String?>
init(String appId, AppSettings appSettings, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
method initializes the settings required for CometChat
initializetestmessageStream() → dynamic
initiateCall(Call call, {int? timeout, required dynamic onSuccess(Call call)?, required dynamic onError(CometChatException excep)}) → void
isAIFeatureEnabled(String feature, {required dynamic onSuccess(bool isEnabled), required dynamic onError(CometChatException excep)}) → Future<void>
isExtensionEnabled(String extensionId, {dynamic onSuccess(bool)?, dynamic onError(CometChatException excep)?}) → Future<bool>
joinGroup(String guid, String groupType, {String password = '', required dynamic onSuccess(Group group)?, required dynamic onError(CometChatException excep)?}) → Future<Group?>
Returns a Group object after joining the logged in user to specified group. In order to start participating in group conversations, you will have to join a group
kickGroupMember({required String guid, required String uid, required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
Admin or Moderator of a group can kick a member out of the group
leaveGroup(String guid, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
In order to stop receiving updates and messages for any particular joined group.
loadPubspecYaml() → Future<String>
login(String uid, String authKey, {required dynamic onSuccess(User user)?, required dynamic onError(CometChatException excep)?}) → Future<User?>
Use this function only for testing purpose. For production, use loginWithAuthToken
loginWithAuthToken(String authToken, {required dynamic onSuccess(User user)?, required dynamic onError(CometChatException excep)?}) → Future<User?>
Returns a User object after login in CometChat API.
logout({required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
Method to log out the user from CometChat
markAsDelivered(BaseMessage message, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → dynamic
Mark the messages for a particular conversation as delivered .
markAsInteracted(int messageId, String interactedElementId, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
Messages elements can be marked as interacted.
markAsRead(BaseMessage baseMessage, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
Messages for both user and group conversations can be marked as read using this method.
markAsUnread(BaseMessage baseMessage, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
Marks a BaseMessage as unread.
markConversationAsDelivered(String conversationWithId, String conversationType, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
Marks all messages in a conversation as delivered.
markConversationAsRead(String conversationWithId, String conversationType, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
Marks all messages in a conversation as read.
markMessageAsUnread(BaseMessage baseMessage, {required dynamic onSuccess(Conversation conversation)?, required dynamic onError(CometChatException excep)?}) → Future<Conversation?>
Marks a BaseMessage as unread.
onTypingIndicator() → Stream<String>
ping({required Function? onSuccess, required dynamic onError(CometChatException excep)?}) → Future<void>
registerTokenForPushNotification(String token, {required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<void>
Registers the obtained FCM Token which will be used by the CometChat server to send message via push notification.
rejectCall(String sessionID, String status, {required dynamic onSuccess(Call call)?, required dynamic onError(CometChatException excep)}) → void
removeAIAssistantListener(String listenerId) → dynamic
Call-SDK-changes
removeCallListener(String listenerId) → dynamic
Call-SDK-changes
removeConnectionListener(String listenerId) → dynamic
Remove Connection Listener
removeGroupListener(String listenerId) → dynamic
Remove Group Listener
removeLoginListener(String listenerId) → dynamic
Remove Login Listener
removeMessageListener(String listenerId) → dynamic
To remove message listener
removeReaction(int messageId, String reaction, {required dynamic onSuccess(BaseMessage)?, required dynamic onError(CometChatException excep)?}) → Future<BaseMessage?>
Remove a reaction to a message.
removeUserListener(String listenerId) → dynamic
Remove User Listener
sendCustomMessage(CustomMessage message, {required dynamic onSuccess(CustomMessage message)?, required dynamic onError(CometChatException excep)?}) → Future<CustomMessage?>
send custom messages which are neither text nor media messages.
sendInteractiveMessage(InteractiveMessage message, {required dynamic onSuccess(InteractiveMessage message)?, required dynamic onError(CometChatException excep)?}) → Future<InteractiveMessage?>
send Interactive messages which has to change its state according to some interactions.
sendMediaMessage(MediaMessage mediaMessage, {required dynamic onSuccess(MediaMessage message)?, required dynamic onError(CometChatException excep)?}) → Future<MediaMessage?>
send a media message like photos, videos & files.
sendMessage(TextMessage message, {required dynamic onSuccess(TextMessage message)?, required dynamic onError(CometChatException excep)?}) → Future<TextMessage?>
To send a text message to a single user or group. returns the TextMessage with message id
sendTransientMessage(TransientMessage message, {required dynamic onSuccess()?, required dynamic onError(CometChatException excep)?}) → dynamic
Transient messages are messages that are sent in real-time only
setDemoMetaInfo({required Map<String, String> jsonObject}) → Future<void>
setPlatformParams({required String platform, required String sdkVersion}) → Future<void>
setSource(String resource, String platform, String language) → Future<void>
startTyping({String? receaverUid, String? receiverUid, String? receiverType}) → dynamic
method to inform the receiver that the logged in user has started typing.
tagConversation(String conversationWith, String conversationType, List<String> tags, {required dynamic onSuccess(Conversation conversation)?, required dynamic onError(CometChatException excep)?}) → Future<Conversation?>
Tag a conversation
transferGroupOwnership({required String guid, required String uid, required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
Transfer the ownership of any group if logged-in user is the owner of the group
unbanGroupMember({required String guid, required String uid, required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
Only Admin or Moderators of the group can unban a previously banned member from the group
unblockUser(List<String>? uids, {required dynamic onSuccess(Map<String, dynamic> map)?, required dynamic onError(CometChatException excep)?}) → Future<Map<String, dynamic>?>
Un-block a user from sending logged-in user any messages.
updateCurrentUserDetails(User user, {required dynamic onSuccess(User user)?, required dynamic onError(CometChatException excep)?}) → Future<User?>
Updating a logged-in user is similar to updating a user
updateGroup({required Group group, required dynamic onSuccess(Group group)?, required dynamic onError(CometChatException excep)?}) → Future<Group?>
update the group details
updateGroupMemberScope({required String guid, required String uid, required String scope, required dynamic onSuccess(String result)?, required dynamic onError(CometChatException excep)?}) → Future<String?>
In order to change the scope of a group member
updateUser(User user, String apiKey, {required dynamic onSuccess(User user)?, required dynamic onError(CometChatException excep)?}) → Future<User?>
Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs