This file is generated automatically.
- Main event
- Other events
- Main event
- Other events
- Main events
- Other events
- Main events
- Other events
- AcceptingContactRequest
- AcceptingBusinessRequest
- ContactConnecting
- BusinessLinkConnecting
- JoinedGroupMemberConnecting
- SentGroupInvitation
- GroupLinkConnecting
Bots must use these events to process connecting users.
Most bots enable auto-accept and don't need to accept connections via commands.
You may create bot SimpleX address manually via CLI or desktop app or from bot code with these commands:
- APIShowMyAddress to check if address exists,
- APICreateMyAddress to create address,
- APISetAddressSettings to enable auto-access.
This event is sent after a user connects via bot SimpleX address (not a business address).
Record type:
Contact profile of another user is updated.
Record type:
Bot user's connection with another contact is deleted (conversation is kept).
Record type:
Contact request received.
This event is only sent when auto-accept is disabled.
The request needs to be accepted using APIAcceptContact command
Record type:
- type: "receivedContactRequest"
- user: User
- contactRequest: UserContactRequest
- chat_: AChat?
Received invitation to connect directly with a group member.
This event only needs to be processed to associate contact with group, the connection will proceed automatically.
Record type:
- type: "newMemberContactReceivedInv"
- user: User
- contact: Contact
- groupInfo: GroupInfo
- member: GroupMember
Connecting via 1-time invitation or after accepting contact request.
After this event bot can send messages to this contact.
Record type:
Bots must use these events to process received messages.
Received message(s).
Record type:
Received message reaction.
Record type:
- type: "chatItemReaction"
- user: User
- added: bool
- reaction: ACIReaction
Message was deleted by another user.
Record type:
- type: "chatItemsDeleted"
- user: User
- chatItemDeletions: [ChatItemDeletion]
- byUser: bool
- timed: bool
Message was updated by another user.
Record type:
Group messages are deleted or moderated.
Record type:
- type: "groupChatItemsDeleted"
- user: User
- groupInfo: GroupInfo
- chatItemIDs: [int64]
- byUser: bool
- member_: GroupMember?
Message delivery status updates.
Record type:
Bots may use these events to manage users' groups and business address groups.
Please note: programming groups is more complex than programming direct connections
Received group invitation.
Record type:
- type: "receivedGroupInvitation"
- user: User
- groupInfo: GroupInfo
- contact: Contact
- fromMemberRole: GroupMemberRole
- memberRole: GroupMemberRole
Bot user joined group. Received when connection via group link completes.
Record type:
- type: "userJoinedGroup"
- user: User
- groupInfo: GroupInfo
- hostMember: GroupMember
Group profile or preferences updated.
Record type:
- type: "groupUpdated"
- user: User
- fromGroup: GroupInfo
- toGroup: GroupInfo
- member_: GroupMember?
Another member joined group.
Record type:
- type: "joinedGroupMember"
- user: User
- groupInfo: GroupInfo
- member: GroupMember
Member (or bot user's) group role changed.
Record type:
- type: "memberRole"
- user: User
- groupInfo: GroupInfo
- byMember: GroupMember
- member: GroupMember
- fromRole: GroupMemberRole
- toRole: GroupMemberRole
Another member is removed from the group.
Record type:
- type: "deletedMember"
- user: User
- groupInfo: GroupInfo
- byMember: GroupMember
- deletedMember: GroupMember
- withMessages: bool
Another member left the group.
Record type:
- type: "leftMember"
- user: User
- groupInfo: GroupInfo
- member: GroupMember
Bot user was removed from the group.
Record type:
- type: "deletedMemberUser"
- user: User
- groupInfo: GroupInfo
- member: GroupMember
- withMessages: bool
Group was deleted by the owner (not bot user).
Record type:
- type: "groupDeleted"
- user: User
- groupInfo: GroupInfo
- member: GroupMember
Connected to another group member.
Record type:
- type: "connectedToGroupMember"
- user: User
- groupInfo: GroupInfo
- member: GroupMember
- memberContact: Contact?
Another group owner, admin or moderator accepted member to the group after review ("knocking").
Record type:
- type: "memberAcceptedByOther"
- user: User
- groupInfo: GroupInfo
- acceptingMember: GroupMember
- member: GroupMember
Another member blocked for all members.
Record type:
- type: "memberBlockedForAll"
- user: User
- groupInfo: GroupInfo
- byMember: GroupMember
- member: GroupMember
- blocked: bool
Another group member profile updated.
Record type:
- type: "groupMemberUpdated"
- user: User
- groupInfo: GroupInfo
- fromMember: GroupMember
- toMember: GroupMember
Bots that send or receive files may process these events to track delivery status and to process completion.
Bots that need to receive or moderate files (e.g., based on name, size or extension), can use relevant commands (e.g., ReceiveFile or APIDeleteMemberChatItem) when processing NewChatItems event.
Bots that need to send files should use APISendMessages command.
File is ready to be received.
This event is useful for processing sender file servers and monitoring file reception progress.
ReceiveFile command can be used before this event.
Record type:
- type: "rcvFileDescrReady"
- user: User
- chatItem: AChatItem
- rcvFileTransfer: RcvFileTransfer
- rcvFileDescr: RcvFileDescr
File reception is competed.
Record type:
File upload is competed.
Record type:
- type: "sndFileCompleteXFTP"
- user: User
- chatItem: AChatItem
- fileTransferMeta: FileTransferMeta
File reception started. This event will be sent after CEvtRcvFileDescrReady event.
Record type:
File was cancelled by the sender. This event may be sent instead of CEvtRcvFileDescrReady event.
Record type:
- type: "rcvFileSndCancelled"
- user: User
- chatItem: AChatItem
- rcvFileTransfer: RcvFileTransfer
This event will be sent when file is automatically accepted because of CLI option.
Record type:
Error receiving file.
Record type:
- type: "rcvFileError"
- user: User
- chatItem_: AChatItem?
- agentError: AgentErrorType
- rcvFileTransfer: RcvFileTransfer
Warning when receiving file. It can happen when CLI settings do not allow to connect to file server(s).
Record type:
- type: "rcvFileWarning"
- user: User
- chatItem_: AChatItem?
- agentError: AgentErrorType
- rcvFileTransfer: RcvFileTransfer
Error sending file.
Record type:
- type: "sndFileError"
- user: User
- chatItem_: AChatItem?
- fileTransferMeta: FileTransferMeta
- errorMessage: string
Warning when sending file.
Record type:
- type: "sndFileWarning"
- user: User
- chatItem_: AChatItem?
- fileTransferMeta: FileTransferMeta
- errorMessage: string
Bots may use these events to track progress of connections for monitoring or debugging.
Automatically accepting contact request via bot's SimpleX address with auto-accept enabled.
Record type:
Automatically accepting contact request via bot's business address.
Record type:
Contact confirmed connection.
Sent when contact started connecting via bot's 1-time invitation link or when bot connects to another SimpleX address.
Record type:
Contact confirmed connection.
Sent when bot connects to another business address.
Record type:
- type: "businessLinkConnecting"
- user: User
- groupInfo: GroupInfo
- hostMember: GroupMember
- fromContact: Contact
Group member is announced to the group and will be connecting to bot.
Record type:
- type: "joinedGroupMemberConnecting"
- user: User
- groupInfo: GroupInfo
- hostMember: GroupMember
- member: GroupMember
Sent when another user joins group via bot's link.
Record type:
- type: "sentGroupInvitation"
- user: User
- groupInfo: GroupInfo
- contact: Contact
- member: GroupMember
Sent when bot joins group via another user link.
Record type:
- type: "groupLinkConnecting"
- user: User
- groupInfo: GroupInfo
- hostMember: GroupMember
Bots may log these events for debugging. There will be many error events - this does NOT indicate a malfunction - e.g., they may happen because of bad network connectivity, or because messages may be delivered to deleted chats for a short period of time (they will be ignored).
Message error.
Record type:
- type: "messageError"
- user: User
- severity: string
- errorMessage: string
Chat error.
Record type:
- type: "chatError"
- chatError: ChatError
Chat errors.
Record type:
- type: "chatErrors"
- chatErrors: [ChatError]