Created
April 5, 2023 08:42
-
-
Save infu/af7504448fdaf13c3829a1d4b9311222 to your computer and use it in GitHub Desktop.
OC user did
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type AccessorId = principal; | |
type AccountIdentifier = blob; | |
type BlockIndex = nat64; | |
type CanisterId = principal; | |
type ChatId = CanisterId; | |
type Cycles = nat; | |
type EventIndex = nat32; | |
type FileId = nat; | |
type Hash = blob; | |
type ICP = Tokens; | |
type Memo = nat64; | |
type MessageId = nat; | |
type MessageIndex = nat32; | |
type Milliseconds = nat64; | |
type NnsNeuronId = nat64; | |
type ProposalId = nat64; | |
type SnsNeuronId = blob; | |
type TimestampMillis = nat64; | |
type TimestampNanos = nat64; | |
type Tokens = record { e8s: nat64; }; | |
type TransactionHash = blob; | |
type UserId = CanisterId; | |
type AddedToGroupNotification = | |
record { | |
chat_id: ChatId; | |
group_name: text; | |
added_by: UserId; | |
added_by_name: text; | |
timestamp: TimestampMillis; | |
}; | |
type AudioContent = | |
record { | |
caption: opt text; | |
mime_type: text; | |
blob_reference: opt BlobReference; | |
}; | |
type Avatar = | |
record { | |
id: nat; | |
mime_type: text; | |
data: blob; | |
}; | |
type BlobReference = | |
record { | |
canister_id: CanisterId; | |
blob_id: nat; | |
}; | |
type CanisterUpgradeStatus = | |
variant { | |
InProgress; | |
NotRequired; | |
}; | |
type CanisterWasm = | |
record { | |
module: vec nat8; | |
version: Version; | |
compressed: bool; | |
}; | |
type ChatMetrics = | |
record { | |
text_messages: nat64; | |
image_messages: nat64; | |
video_messages: nat64; | |
audio_messages: nat64; | |
file_messages: nat64; | |
polls: nat64; | |
poll_votes: nat64; | |
cycles_messages: nat64; | |
icp_messages: nat64; | |
sns1_messages: nat64; | |
ckbtc_messages: nat64; | |
chat_messages: nat64; | |
deleted_messages: nat64; | |
giphy_messages: nat64; | |
prize_messages: nat64; | |
prize_winner_messages: nat64; | |
replies: nat64; | |
edits: nat64; | |
reactions: nat64; | |
proposals: nat64; | |
reported_messages: nat64; | |
last_active: TimestampMillis; | |
}; | |
type CryptoContent = | |
record { | |
recipient: UserId; | |
transfer: CryptoTransaction; | |
caption: opt text; | |
}; | |
type DeletedContent = | |
record { | |
deleted_by: UserId; | |
timestamp: TimestampMillis; | |
}; | |
type DirectChatCreated = | |
record { | |
}; | |
type DirectChatEventWrapper = | |
record { | |
index: EventIndex; | |
timestamp: TimestampMillis; | |
correlation_id: nat64; | |
expires_at: opt TimestampMillis; | |
event: ChatEvent; | |
}; | |
type DirectChatSummary = | |
record { | |
them: UserId; | |
latest_message: MessageEventWrapper; | |
latest_event_index: EventIndex; | |
date_created: TimestampMillis; | |
read_by_me_up_to: opt MessageIndex; | |
read_by_them_up_to: opt MessageIndex; | |
notifications_muted: bool; | |
metrics: ChatMetrics; | |
my_metrics: ChatMetrics; | |
archived: bool; | |
events_ttl: opt Milliseconds; | |
expired_messages: vec MessageIndexRange; | |
}; | |
type DirectChatSummaryUpdates = | |
record { | |
chat_id: ChatId; | |
latest_message: opt MessageEventWrapper; | |
latest_event_index: opt EventIndex; | |
read_by_me_up_to: opt MessageIndex; | |
read_by_them_up_to: opt MessageIndex; | |
notifications_muted: opt bool; | |
affected_events: vec EventIndex; | |
updated_events: vec record { nat32; nat64 }; | |
metrics: opt ChatMetrics; | |
my_metrics: opt ChatMetrics; | |
archived: opt bool; | |
events_ttl: EventsTimeToLiveUpdate; | |
newly_expired_messages: vec MessageIndexRange; | |
}; | |
type DirectMessageNotification = | |
record { | |
sender: UserId; | |
thread_root_message_index: opt MessageIndex; | |
sender_name: text; | |
message: MessageEventWrapper; | |
}; | |
type DirectReactionAddedNotification = | |
record { | |
them: UserId; | |
username: text; | |
message: MessageEventWrapper; | |
reaction: text; | |
timestamp: TimestampMillis; | |
}; | |
type FieldTooShortResult = | |
record { | |
length_provided: nat32; | |
min_length: nat32; | |
}; | |
type FieldTooLongResult = | |
record { | |
length_provided: nat32; | |
max_length: nat32; | |
}; | |
type FileContent = | |
record { | |
name: text; | |
caption: opt text; | |
mime_type: text; | |
file_size: nat32; | |
blob_reference: opt BlobReference; | |
}; | |
type GroupChatCreated = | |
record { | |
name: text; | |
description: text; | |
created_by: UserId; | |
}; | |
type ChatEvent = | |
variant { | |
Message: Message; | |
GroupChatCreated: GroupChatCreated; | |
DirectChatCreated: DirectChatCreated; | |
GroupNameChanged: GroupNameChanged; | |
GroupDescriptionChanged: GroupDescriptionChanged; | |
AvatarChanged: AvatarChanged; | |
OwnershipTransferred: OwnershipTransferred; | |
ParticipantsAdded: ParticipantsAdded; | |
ParticipantsRemoved: ParticipantsRemoved; | |
ParticipantJoined: ParticipantJoined; | |
ParticipantLeft: ParticipantLeft; | |
ParticipantAssumesSuperAdmin: ParticipantAssumesSuperAdmin; | |
ParticipantDismissedAsSuperAdmin: ParticipantDismissedAsSuperAdmin; | |
ParticipantRelinquishesSuperAdmin: ParticipantRelinquishesSuperAdmin; | |
RoleChanged: RoleChanged; | |
MessageEdited: UpdatedMessage; | |
MessageDeleted: UpdatedMessage; | |
MessageUndeleted: UpdatedMessage; | |
MessageReactionAdded: UpdatedMessage; | |
MessageReactionRemoved: UpdatedMessage; | |
UsersBlocked: UsersBlocked; | |
UsersUnblocked: UsersUnblocked; | |
MessagePinned: MessagePinned; | |
MessageUnpinned: MessageUnpinned; | |
PollVoteRegistered: UpdatedMessage; | |
PollVoteDeleted: UpdatedMessage; | |
PollEnded: PollEnded; | |
PermissionsChanged: PermissionsChanged; | |
GroupVisibilityChanged: GroupVisibilityChanged; | |
GroupInviteCodeChanged: GroupInviteCodeChanged; | |
ThreadUpdated: ThreadUpdated; | |
ProposalsUpdated: ProposalsUpdated; | |
GroupRulesChanged: GroupRulesChanged; | |
ChatFrozen: ChatFrozen; | |
ChatUnfrozen: ChatUnfrozen; | |
EventsTimeToLiveUpdated: EventsTimeToLiveUpdated; | |
}; | |
type ChatEventWrapper = | |
record { | |
index: EventIndex; | |
timestamp: TimestampMillis; | |
correlation_id: nat64; | |
expires_at: opt TimestampMillis; | |
event: ChatEvent; | |
}; | |
type GroupChatSummary = | |
record { | |
chat_id: ChatId; | |
last_updated: TimestampMillis; | |
name: text; | |
description: text; | |
subtype: opt GroupSubtype; | |
avatar_id: opt nat; | |
is_public: bool; | |
history_visible_to_new_joiners: bool; | |
min_visible_event_index: EventIndex; | |
min_visible_message_index: MessageIndex; | |
latest_message: opt MessageEventWrapper; | |
latest_event_index: EventIndex; | |
joined: TimestampMillis; | |
read_by_me_up_to: opt MessageIndex; | |
notifications_muted: bool; | |
participant_count: nat32; | |
role: Role; | |
mentions: vec Mention; | |
permissions: GroupPermissions; | |
metrics: ChatMetrics; | |
my_metrics: ChatMetrics; | |
latest_threads: vec ThreadSyncDetails; | |
archived: bool; | |
frozen: opt FrozenGroupInfo; | |
wasm_version: Version; | |
date_last_pinned: opt TimestampMillis; | |
date_read_pinned: opt TimestampMillis; | |
events_ttl: opt Milliseconds; | |
expired_messages: vec MessageIndexRange; | |
next_message_expiry: opt TimestampMillis; | |
}; | |
type GroupCanisterGroupChatSummary = | |
record { | |
chat_id: ChatId; | |
last_updated: TimestampMillis; | |
name: text; | |
description: text; | |
subtype: opt GroupSubtype; | |
avatar_id: opt nat; | |
is_public: bool; | |
history_visible_to_new_joiners: bool; | |
min_visible_event_index: EventIndex; | |
min_visible_message_index: MessageIndex; | |
latest_message: opt MessageEventWrapper; | |
latest_event_index: EventIndex; | |
joined: TimestampMillis; | |
participant_count: nat32; | |
role: Role; | |
mentions: vec Mention; | |
permissions: GroupPermissions; | |
notifications_muted: bool; | |
metrics: ChatMetrics; | |
my_metrics: ChatMetrics; | |
latest_threads: vec GroupCanisterThreadDetails; | |
frozen: opt FrozenGroupInfo; | |
wasm_version: Version; | |
date_last_pinned: opt TimestampMillis; | |
events_ttl: opt Milliseconds; | |
expired_messages: vec MessageIndexRange; | |
next_message_expiry: opt TimestampMillis; | |
}; | |
type GroupCanisterGroupChatSummaryUpdates = | |
record { | |
chat_id: ChatId; | |
last_updated: TimestampMillis; | |
name: opt text; | |
description: opt text; | |
subtype: GroupSubtypeUpdate; | |
avatar_id: AvatarIdUpdate; | |
latest_message: opt MessageEventWrapper; | |
latest_event_index: opt EventIndex; | |
participant_count: opt nat32; | |
role: opt Role; | |
mentions: vec Mention; | |
permissions: opt GroupPermissions; | |
affected_events: vec EventIndex; | |
updated_events: vec record { opt nat32; nat32; nat64 }; | |
metrics: opt ChatMetrics; | |
my_metrics: opt ChatMetrics; | |
is_public: opt bool; | |
latest_threads: vec GroupCanisterThreadDetails; | |
notifications_muted: opt bool; | |
frozen: FrozenGroupUpdate; | |
wasm_version: opt Version; | |
date_last_pinned: opt TimestampMillis; | |
events_ttl: EventsTimeToLiveUpdate; | |
newly_expired_messages: vec MessageIndexRange; | |
next_message_expiry: TimestampUpdate; | |
}; | |
type GroupDescriptionChanged = | |
record { | |
new_description: text; | |
previous_description: text; | |
changed_by: UserId; | |
}; | |
type AvatarChanged = | |
record { | |
new_avatar: opt nat; | |
previous_avatar: opt nat; | |
changed_by: UserId; | |
}; | |
type AvatarUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: Avatar; | |
}; | |
type TextUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: text; | |
}; | |
type AvatarIdUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: nat; | |
}; | |
type TimestampUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: TimestampMillis; | |
}; | |
type Mention = | |
record { | |
thread_root_message_index: opt MessageIndex; | |
message_id: MessageId; | |
message_index: MessageIndex; | |
event_index: EventIndex; | |
mentioned_by: UserId; | |
}; | |
type Message = | |
record { | |
message_index: MessageIndex; | |
message_id: MessageId; | |
sender: UserId; | |
content: MessageContent; | |
replies_to: opt ReplyContext; | |
reactions: vec record { text; vec UserId; }; | |
thread_summary: opt ThreadSummary; | |
edited: bool; | |
forwarded: bool; | |
last_updated: opt TimestampMillis; | |
}; | |
type MessageEventWrapper = | |
record { | |
index: EventIndex; | |
timestamp: TimestampMillis; | |
correlation_id: nat64; | |
expires_at: opt TimestampMillis; | |
event: Message; | |
}; | |
type FrozenGroupInfo = | |
record { | |
timestamp: TimestampMillis; | |
frozen_by: UserId; | |
reason: opt text; | |
}; | |
type FrozenGroupUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: FrozenGroupInfo; | |
}; | |
type GroupMessageNotification = | |
record { | |
chat_id: ChatId; | |
thread_root_message_index: opt MessageIndex; | |
group_name: text; | |
sender: UserId; | |
sender_name: text; | |
message: MessageEventWrapper; | |
mentioned: vec User; | |
hide: bool; | |
}; | |
type GroupNameChanged = | |
record { | |
new_name: text; | |
previous_name: text; | |
changed_by: UserId; | |
}; | |
type GroupReactionAddedNotification = | |
record { | |
chat_id: ChatId; | |
thread_root_message_index: opt MessageIndex; | |
group_name: text; | |
added_by: UserId; | |
added_by_name: text; | |
message: MessageEventWrapper; | |
reaction: text; | |
timestamp: TimestampMillis; | |
}; | |
type GroupReplyContext = | |
record { | |
event_index: EventIndex; | |
}; | |
type GroupSubtype = | |
variant { | |
GovernanceProposals: GovernanceProposalsSubtype; | |
}; | |
type GroupSubtypeUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: GroupSubtype; | |
}; | |
type GovernanceProposalsSubtype = | |
record { | |
is_nns: bool; | |
governance_canister_id: CanisterId; | |
}; | |
type MessagePinned = | |
record { | |
message_index: MessageIndex; | |
pinned_by: UserId; | |
}; | |
type MessageUnpinned = | |
record { | |
message_index: MessageIndex; | |
unpinned_by: UserId; | |
due_to_message_deleted: bool; | |
}; | |
type PinnedMessageUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: MessageIndex; | |
}; | |
type PublicGroupSummary = | |
record { | |
chat_id: ChatId; | |
last_updated: TimestampMillis; | |
name: text; | |
description: text; | |
subtype: opt GroupSubtype; | |
avatar_id: opt nat; | |
latest_message: opt MessageEventWrapper; | |
latest_event_index: EventIndex; | |
participant_count: nat32; | |
is_public: bool; | |
frozen: opt FrozenGroupInfo; | |
wasm_version: Version; | |
}; | |
type ReplyContext = | |
record { | |
chat_id_if_other: opt ChatId; | |
event_index: EventIndex; | |
}; | |
type GiphyImageVariant = | |
record { | |
width: nat32; | |
height: nat32; | |
url: text; | |
mime_type: text; | |
}; | |
type GiphyContent = | |
record { | |
caption: opt text; | |
title: text; | |
desktop: GiphyImageVariant; | |
mobile: GiphyImageVariant; | |
}; | |
type ImageContent = | |
record { | |
width: nat32; | |
height: nat32; | |
thumbnail_data: text; | |
caption: opt text; | |
mime_type: text; | |
blob_reference: opt BlobReference; | |
}; | |
type IndexedNotification = | |
record { | |
index: nat64; | |
value: NotificationEnvelope; | |
}; | |
type InvalidPollReason = | |
variant { | |
TooFewOptions: nat32; | |
TooManyOptions: nat32; | |
OptionTooLong: nat32; | |
DuplicateOptions; | |
EndDateInThePast; | |
PollsNotValidForDirectChats; | |
}; | |
type MessageContentInitial = | |
variant { | |
Text: TextContent; | |
Image: ImageContent; | |
Video: VideoContent; | |
Audio: AudioContent; | |
File: FileContent; | |
Poll: PollContent; | |
Crypto: CryptoContent; | |
Deleted: DeletedContent; | |
Giphy: GiphyContent; | |
GovernanceProposal: ProposalContent; | |
Prize: PrizeContentInitial; | |
}; | |
type MessageContent = | |
variant { | |
Text: TextContent; | |
Image: ImageContent; | |
Video: VideoContent; | |
Audio: AudioContent; | |
File: FileContent; | |
Poll: PollContent; | |
Crypto: CryptoContent; | |
Deleted: DeletedContent; | |
Giphy: GiphyContent; | |
GovernanceProposal: ProposalContent; | |
Prize: PrizeContent; | |
PrizeWinner: PrizeWinnerContent; | |
}; | |
type UpdatedMessage = | |
record { | |
updated_by: UserId; | |
event_index: EventIndex; | |
message_id: MessageId; | |
}; | |
type MessageMatch = | |
record { | |
chat_id: ChatId; | |
message_index: MessageIndex; | |
content: MessageContent; | |
sender: UserId; | |
score: nat32; | |
}; | |
type Notification = | |
variant { | |
AddedToGroupNotification: AddedToGroupNotification; | |
DirectMessageNotification: DirectMessageNotification; | |
GroupMessageNotification: GroupMessageNotification; | |
DirectReactionAddedNotification: DirectReactionAddedNotification; | |
GroupReactionAddedNotification: GroupReactionAddedNotification; | |
}; | |
type NotificationEnvelope = | |
record { | |
recipients: vec UserId; | |
notification: Notification; | |
}; | |
type PartialUserSummary = | |
record { | |
user_id: UserId; | |
username: opt text; | |
avatar_id: opt nat; | |
is_bot: bool; | |
suspended: bool; | |
diamond_member: bool; | |
}; | |
type Participant = | |
record { | |
user_id: UserId; | |
date_added: TimestampMillis; | |
role: Role; | |
}; | |
type ParticipantJoined = | |
record { | |
user_id: UserId; | |
}; | |
type ParticipantLeft = | |
record { | |
user_id: UserId; | |
}; | |
type ParticipantAssumesSuperAdmin = | |
record { | |
user_id: UserId; | |
}; | |
type ParticipantRelinquishesSuperAdmin = | |
record { | |
user_id: UserId; | |
}; | |
type ParticipantDismissedAsSuperAdmin = | |
record { | |
user_id: UserId; | |
}; | |
type ParticipantsAdded = | |
record { | |
user_ids: vec UserId; | |
added_by: UserId; | |
unblocked: vec UserId; | |
}; | |
type PermissionsChanged = | |
record { | |
old_permissions: GroupPermissions; | |
new_permissions: GroupPermissions; | |
changed_by: UserId; | |
}; | |
type GroupVisibilityChanged = | |
record { | |
now_public: bool; | |
changed_by: UserId; | |
}; | |
type GroupInviteCodeChanged = | |
record { | |
change: GroupInviteCodeChange; | |
changed_by: UserId; | |
}; | |
type GroupInviteCodeChange = | |
variant { | |
Enabled; | |
Disabled; | |
Reset; | |
}; | |
type PollConfig = | |
record { | |
text: opt text; | |
options: vec text; | |
end_date: opt TimestampMillis; | |
anonymous: bool; | |
show_votes_before_end_date: bool; | |
allow_multiple_votes_per_user: bool; | |
}; | |
type PollContent = | |
record { | |
config: PollConfig; | |
votes: PollVotes; | |
ended: bool; | |
}; | |
type PollEnded = | |
record { | |
event_index: EventIndex; | |
message_index: MessageIndex; | |
}; | |
type PollVotes = | |
record { | |
total: TotalPollVotes; | |
user: vec nat32; | |
}; | |
type RoleChanged = | |
record { | |
user_ids: vec UserId; | |
changed_by: UserId; | |
old_role: Role; | |
new_role: Role; | |
}; | |
type OwnershipTransferred = | |
record { | |
old_owner: UserId; | |
new_owner: UserId; | |
}; | |
type ParticipantsRemoved = | |
record { | |
user_ids: vec UserId; | |
removed_by: UserId; | |
}; | |
type ProposalContent = | |
record { | |
governance_canister_id: CanisterId; | |
proposal: Proposal; | |
my_vote: opt bool; | |
}; | |
type Proposal = | |
variant { | |
NNS: NnsProposal; | |
SNS: SnsProposal; | |
}; | |
type NnsProposal = | |
record { | |
id: ProposalId; | |
topic: int32; | |
proposer: NnsNeuronId; | |
created: TimestampMillis; | |
title: text; | |
summary: text; | |
url: text; | |
status: ProposalDecisionStatus; | |
reward_status: ProposalRewardStatus; | |
tally: Tally; | |
deadline: TimestampMillis; | |
last_updated: TimestampMillis; | |
}; | |
type SnsProposal = | |
record { | |
id: ProposalId; | |
action: nat64; | |
proposer: SnsNeuronId; | |
created: TimestampMillis; | |
title: text; | |
summary: text; | |
url: text; | |
status: ProposalDecisionStatus; | |
reward_status: ProposalRewardStatus; | |
tally: Tally; | |
deadline: TimestampMillis; | |
payload_text_rendering: opt text; | |
last_updated: TimestampMillis; | |
}; | |
type ProposalDecisionStatus = | |
variant { | |
Unspecified; | |
Open; | |
Rejected; | |
Adopted; | |
Executed; | |
Failed; | |
}; | |
type ProposalRewardStatus = | |
variant { | |
Unspecified; | |
AcceptVotes; | |
ReadyToSettle; | |
Settled; | |
}; | |
type Tally = | |
record { | |
yes: nat64; | |
no: nat64; | |
total: nat64; | |
timestamp: TimestampMillis; | |
}; | |
type TotalPollVotes = | |
variant { | |
Visible: vec record { nat32; vec UserId }; | |
Anonymous: vec record { nat32; nat32 }; | |
Hidden: nat32; | |
}; | |
type UsersBlocked = | |
record { | |
user_ids: vec UserId; | |
blocked_by: UserId; | |
}; | |
type UsersUnblocked = | |
record { | |
user_ids: vec UserId; | |
unblocked_by: UserId; | |
}; | |
type VoteOperation = | |
variant { | |
RegisterVote; | |
DeleteVote; | |
}; | |
type RegistrationFee = | |
variant { | |
ICP: ICPRegistrationFee; | |
Cycles: CyclesRegistrationFee; | |
}; | |
type ICPRegistrationFee = | |
record { | |
amount: ICP; | |
recipient: AccountIdentifier; | |
valid_until: TimestampMillis; | |
}; | |
type CyclesRegistrationFee = | |
record { | |
amount: Cycles; | |
recipient: principal; | |
valid_until: TimestampMillis; | |
}; | |
type Role = | |
variant { | |
Owner; | |
Admin; | |
Participant; | |
}; | |
type FallbackRole = | |
variant { | |
Admin; | |
Participant; | |
}; | |
type Subscription = | |
record { | |
value: SubscriptionInfo; | |
last_active: TimestampMillis; | |
}; | |
type SubscriptionInfo = | |
record { | |
endpoint: text; | |
keys: SubscriptionKeys; | |
}; | |
type SubscriptionKeys = | |
record { | |
p256dh: text; | |
auth: text; | |
}; | |
type TextContent = | |
record { | |
text: text; | |
}; | |
type UserSummary = | |
record { | |
user_id: UserId; | |
username: text; | |
avatar_id: opt nat; | |
is_bot: bool; | |
suspended: bool; | |
seconds_since_last_online: nat32; | |
diamond_member: bool; | |
}; | |
type Version = | |
record { | |
major: nat32; | |
minor: nat32; | |
patch: nat32; | |
}; | |
type Cryptocurrency = | |
variant { | |
InternetComputer; | |
SNS1; | |
CKBTC; | |
CHAT; | |
}; | |
type CryptoTransaction = | |
variant { | |
Pending: PendingCryptoTransaction; | |
Completed: CompletedCryptoTransaction; | |
Failed: FailedCryptoTransaction; | |
}; | |
type PendingCryptoTransaction = | |
variant { | |
NNS: NnsPendingCryptoTransaction; | |
SNS: SnsPendingCryptoTransaction; | |
}; | |
type CompletedCryptoTransaction = | |
variant { | |
NNS: NnsCompletedCryptoTransaction; | |
SNS: SnsCompletedCryptoTransaction; | |
}; | |
type FailedCryptoTransaction = | |
variant { | |
NNS: NnsFailedCryptoTransaction; | |
SNS: SnsFailedCryptoTransaction; | |
}; | |
type NnsPendingCryptoTransaction = | |
record { | |
token: Cryptocurrency; | |
amount: Tokens; | |
to: NnsUserOrAccount; | |
fee: opt Tokens; | |
memo: opt Memo; | |
}; | |
type NnsCompletedCryptoTransaction = | |
record { | |
token: Cryptocurrency; | |
amount: Tokens; | |
fee: Tokens; | |
from: NnsCryptoAccount; | |
to: NnsCryptoAccount; | |
memo: Memo; | |
created: TimestampNanos; | |
transaction_hash: TransactionHash; | |
block_index: BlockIndex; | |
}; | |
type NnsFailedCryptoTransaction = | |
record { | |
token: Cryptocurrency; | |
amount: Tokens; | |
fee: Tokens; | |
from: NnsCryptoAccount; | |
to: NnsCryptoAccount; | |
memo: Memo; | |
created: TimestampNanos; | |
transaction_hash: TransactionHash; | |
error_message: text; | |
}; | |
type NnsUserOrAccount = | |
variant { | |
User: UserId; | |
Account: AccountIdentifier; | |
}; | |
type NnsCryptoAccount = | |
variant { | |
Mint; | |
Account: AccountIdentifier; | |
}; | |
type SnsPendingCryptoTransaction = | |
record { | |
token: Cryptocurrency; | |
amount: Tokens; | |
to: Icrc1Account; | |
fee: Tokens; | |
memo: opt Memo; | |
}; | |
type SnsCompletedCryptoTransaction = | |
record { | |
token: Cryptocurrency; | |
amount: Tokens; | |
fee: Tokens; | |
from: SnsAccount; | |
to: SnsAccount; | |
memo: opt Memo; | |
created: TimestampNanos; | |
transaction_hash: TransactionHash; | |
block_index: BlockIndex; | |
}; | |
type SnsFailedCryptoTransaction = | |
record { | |
token: Cryptocurrency; | |
amount: Tokens; | |
fee: Tokens; | |
from: SnsAccount; | |
to: SnsAccount; | |
memo: opt Memo; | |
created: TimestampNanos; | |
transaction_hash: TransactionHash; | |
error_message: text; | |
}; | |
type SnsAccount = | |
variant { | |
Mint; | |
Account: Icrc1Account; | |
}; | |
type Icrc1Account = | |
record { | |
owner: principal; | |
subaccount: opt blob; | |
}; | |
type VideoContent = | |
record { | |
width: nat32; | |
height: nat32; | |
thumbnail_data: text; | |
caption: opt text; | |
mime_type: text; | |
image_blob_reference: opt BlobReference; | |
video_blob_reference: opt BlobReference; | |
}; | |
type User = | |
record { | |
user_id: UserId; | |
username: text; | |
}; | |
type GroupPermissions = | |
record { | |
change_permissions: PermissionRole; | |
change_roles: PermissionRole; | |
add_members: PermissionRole; | |
remove_members: PermissionRole; | |
block_users: PermissionRole; | |
delete_messages: PermissionRole; | |
update_group: PermissionRole; | |
pin_messages: PermissionRole; | |
invite_users: PermissionRole; | |
create_polls: PermissionRole; | |
send_messages: PermissionRole; | |
react_to_messages: PermissionRole; | |
reply_in_thread: PermissionRole; | |
}; | |
type PermissionRole = | |
variant { | |
Owner; | |
Admins; | |
Members; | |
}; | |
type ThreadSummary = | |
record { | |
participant_ids: vec UserId; | |
reply_count: nat32; | |
latest_event_index: EventIndex; | |
latest_event_timestamp: TimestampMillis; | |
}; | |
type ThreadUpdated = | |
record { | |
event_index: EventIndex; | |
message_index: MessageIndex; | |
latest_thread_message_index_if_updated: opt MessageIndex; | |
}; | |
type ThreadSyncDetails = | |
record { | |
root_message_index: MessageIndex; | |
latest_event: opt EventIndex; | |
latest_message: opt MessageIndex; | |
read_up_to: opt MessageIndex; | |
last_updated: TimestampMillis; | |
}; | |
type GroupCanisterThreadDetails = | |
record { | |
root_message_index: MessageIndex; | |
latest_event: EventIndex; | |
latest_message: MessageIndex; | |
last_updated: TimestampMillis; | |
}; | |
type ProposalsUpdated = | |
record { | |
proposals: vec ProposalUpdated; | |
}; | |
type ProposalUpdated = | |
record { | |
event_index: EventIndex; | |
message_index: MessageIndex; | |
}; | |
type GroupRules = | |
record { | |
text: text; | |
enabled: bool; | |
}; | |
type GroupRulesChanged = | |
record { | |
enabled: bool; | |
prev_enabled: bool; | |
changed_by: UserId; | |
}; | |
type ChatFrozen = | |
record { | |
frozen_by: UserId; | |
reason: opt text; | |
}; | |
type ChatUnfrozen = | |
record { | |
unfrozen_by: UserId; | |
}; | |
type EventsTimeToLiveUpdated = | |
record { | |
updated_by: UserId; | |
new_ttl: opt Milliseconds; | |
}; | |
type EventsTimeToLiveUpdate = | |
variant { | |
NoChange; | |
SetToNone; | |
SetToSome: Milliseconds; | |
}; | |
type PushEventResult = | |
record { | |
index: EventIndex; | |
timestamp: TimestampMillis; | |
expires_at: opt TimestampMillis; | |
}; | |
type MessageIndexRange = | |
record { | |
start: MessageIndex; | |
end: MessageIndex; | |
}; | |
type PrizeContentInitial = | |
record { | |
prizes: vec Tokens; | |
transfer: CryptoTransaction; | |
end_date: TimestampMillis; | |
caption: opt text; | |
}; | |
type PrizeContent = | |
record { | |
prizes_remaining: nat32; | |
prizes_pending: nat32; | |
winners: vec UserId; | |
token: Cryptocurrency; | |
end_date: TimestampMillis; | |
caption: opt text; | |
}; | |
type PrizeWinnerContent = | |
record { | |
winner: UserId; | |
transaction: CompletedCryptoTransaction; | |
prize_message: MessageIndex; | |
}; | |
type DiamondMembershipDetails = | |
record { | |
expires_at: TimestampMillis; | |
recurring: opt DiamondMembershipPlanDuration; | |
}; | |
type DiamondMembershipPlanDuration = | |
variant { | |
OneMonth; | |
ThreeMonths; | |
OneYear; | |
}; | |
type SendMessageArgs = | |
record { | |
recipient: UserId; | |
thread_root_message_index: opt MessageIndex; | |
message_id: MessageId; | |
sender_name: text; | |
content: MessageContent; | |
replies_to: opt ReplyContext; | |
forwarding: bool; | |
correlation_id: nat64; | |
}; | |
type SendMessageResponse = | |
variant { | |
Success: record { | |
chat_id: ChatId; | |
event_index: EventIndex; | |
message_index: MessageIndex; | |
timestamp: TimestampMillis; | |
expires_at: opt TimestampMillis; | |
}; | |
TransferSuccessV2: record { | |
chat_id: ChatId; | |
event_index: EventIndex; | |
message_index: MessageIndex; | |
timestamp: TimestampMillis; | |
expires_at: opt TimestampMillis; | |
transfer: CompletedCryptoTransaction; | |
}; | |
MessageEmpty; | |
TextTooLong: nat32; | |
RecipientBlocked; | |
RecipientNotFound; | |
InvalidPoll: InvalidPollReason; | |
InvalidRequest: text; | |
TransferFailed: text; | |
TransferCannotBeZero; | |
TransferLimitExceeded: nat; | |
UserSuspended; | |
InternalError: text; | |
}; | |
type EditMessageArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
message_id: MessageId; | |
content: MessageContent; | |
correlation_id: nat64; | |
}; | |
type EditMessageResponse = | |
variant { | |
Success; | |
MessageNotFound; | |
ChatNotFound; | |
UserBlocked; | |
UserSuspended; | |
}; | |
type DeleteMessagesArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
message_ids: vec MessageId; | |
correlation_id: nat64; | |
}; | |
type DeleteMessagesResponse = | |
variant { | |
Success; | |
ChatNotFound; | |
UserSuspended; | |
}; | |
type UndeleteMessagesArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
message_ids: vec MessageId; | |
correlation_id: nat64; | |
}; | |
type UndeleteMessagesResponse = | |
variant { | |
Success: record { | |
messages: vec Message; | |
}; | |
ChatNotFound; | |
UserSuspended; | |
}; | |
type AddReactionArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
message_id: MessageId; | |
reaction: text; | |
username: text; | |
correlation_id: nat64; | |
}; | |
type AddReactionResponse = | |
variant { | |
Success; | |
SuccessV2: PushEventResult; | |
NoChange; | |
InvalidReaction; | |
MessageNotFound; | |
ChatNotFound; | |
UserSuspended; | |
}; | |
type RemoveReactionArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
message_id: MessageId; | |
reaction: text; | |
correlation_id: nat64; | |
}; | |
type RemoveReactionResponse = | |
variant { | |
Success; | |
SuccessV2: PushEventResult; | |
NoChange; | |
MessageNotFound; | |
ChatNotFound; | |
UserSuspended; | |
}; | |
type MarkReadArgs = | |
record { | |
messages_read: vec ChatMessagesRead; | |
}; | |
type ChatMessagesRead = | |
record { | |
chat_id: ChatId; | |
read_up_to: opt MessageIndex; | |
threads: vec ThreadRead; | |
date_read_pinned: opt TimestampMillis; | |
}; | |
type ThreadRead = | |
record { | |
root_message_index: MessageIndex; | |
read_up_to: MessageIndex; | |
}; | |
type MarkReadResponse = | |
variant { | |
Success; | |
}; | |
type BlockUserArgs = | |
record { | |
user_id: UserId; | |
}; | |
type BlockUserResponse = | |
variant { | |
Success; | |
UserSuspended; | |
}; | |
type UnblockUserArgs = | |
record { | |
user_id: UserId; | |
}; | |
type UnblockUserResponse = | |
variant { | |
Success; | |
UserSuspended; | |
}; | |
type CreateGroupArgs = | |
record { | |
is_public: bool; | |
name: text; | |
description: text; | |
avatar: opt Avatar; | |
history_visible_to_new_joiners: bool; | |
permissions: opt GroupPermissions; | |
rules: GroupRules; | |
}; | |
type CreateGroupSuccessResult = | |
record { | |
chat_id: ChatId; | |
}; | |
type CreateGroupResponse = | |
variant { | |
Success: CreateGroupSuccessResult; | |
NameTooShort: FieldTooShortResult; | |
NameTooLong: FieldTooLongResult; | |
NameReserved; | |
DescriptionTooLong: FieldTooLongResult; | |
AvatarTooBig: FieldTooLongResult; | |
MaxGroupsCreated: nat32; | |
NameTaken; | |
Throttled; | |
InternalError; | |
RulesTooLong: FieldTooLongResult; | |
RulesTooShort: FieldTooShortResult; | |
UserSuspended; | |
}; | |
type LeaveGroupArgs = | |
record { | |
chat_id: ChatId; | |
correlation_id: nat64; | |
}; | |
type LeaveGroupResponse = | |
variant { | |
Success; | |
GroupNotFound; | |
GroupNotPublic; | |
InternalError: text; | |
CallerNotInGroup; | |
OwnerCannotLeave; | |
UserSuspended; | |
ChatFrozen; | |
}; | |
type DeleteGroupArgs = | |
record { | |
chat_id: ChatId; | |
}; | |
type DeleteGroupResponse = | |
variant { | |
Success; | |
NotAuthorized; | |
UserSuspended; | |
ChatFrozen; | |
InternalError: text; | |
}; | |
type SetAvatarArgs = | |
record { | |
avatar: opt Avatar; | |
}; | |
type SetAvatarResponse = | |
variant { | |
Success; | |
AvatarTooBig: FieldTooLongResult; | |
UserSuspended; | |
}; | |
type MuteNotificationsArgs = | |
record { | |
chat_id: ChatId; | |
}; | |
type MuteNotificationsResponse = | |
variant { | |
Success; | |
ChatNotFound; | |
InternalError: text; | |
}; | |
type UnmuteNotificationsArgs = | |
record { | |
chat_id: ChatId; | |
}; | |
type UnmuteNotificationsResponse = | |
variant { | |
Success; | |
ChatNotFound; | |
InternalError: text; | |
}; | |
type AddHotGroupExclusionsArgs = | |
record { | |
groups: vec ChatId; | |
duration: opt Milliseconds; | |
}; | |
type AddHotGroupExclusionsResponse = | |
variant { | |
Success; | |
}; | |
type SetBioArgs = | |
record { | |
text: text; | |
}; | |
type SetBioResponse = | |
variant { | |
Success; | |
TooLong: FieldTooLongResult; | |
UserSuspended; | |
}; | |
type SetContactArgs = | |
record { | |
contact: OptionalContact; | |
}; | |
type OptionalContact = | |
record { | |
user_id: UserId; | |
nickname: TextUpdate; | |
}; | |
type SetContactResponse = | |
variant { | |
Success; | |
NoChange; | |
NicknameTooLong: FieldTooLongResult; | |
NicknameTooShort: FieldTooShortResult; | |
UserSuspended; | |
}; | |
type TransferCryptoWithinGroupArgs = | |
record { | |
message_id: MessageId; | |
group_id: ChatId; | |
thread_root_message_index: opt MessageIndex; | |
recipient: UserId; | |
content: CryptoContent; | |
sender_name: text; | |
replies_to: opt GroupReplyContext; | |
mentioned: vec User; | |
correlation_id: nat64; | |
}; | |
type SendMessageWithTransferToGroupArgs = | |
record { | |
group_id: ChatId; | |
thread_root_message_index: opt MessageIndex; | |
message_id: MessageId; | |
content: MessageContentInitial; | |
sender_name: text; | |
replies_to: opt GroupReplyContext; | |
mentioned: vec User; | |
correlation_id: nat64; | |
}; | |
type SendMessageWithTransferToGroupResponse = | |
variant { | |
Success: record { | |
event_index: EventIndex; | |
message_index: MessageIndex; | |
timestamp: TimestampMillis; | |
expires_at: opt TimestampMillis; | |
transfer: CompletedCryptoTransaction; | |
}; | |
TextTooLong: nat32; | |
RecipientBlocked; | |
CallerNotInGroup: opt CompletedCryptoTransaction; | |
CryptocurrencyNotSupported: Cryptocurrency; | |
InvalidRequest: text; | |
TransferFailed: text; | |
TransferCannotBeZero; | |
TransferLimitExceeded: nat; | |
UserSuspended; | |
ChatFrozen; | |
InternalError: record { text; CompletedCryptoTransaction; }; | |
}; | |
type WithdrawCryptoArgs = | |
record { | |
withdrawal: PendingCryptoTransaction; | |
}; | |
type WithdrawCryptoResponse = | |
variant { | |
Success: CompletedCryptoTransaction; | |
TransactionFailed: FailedCryptoTransaction; | |
CurrencyNotSupported; | |
}; | |
type PinChatRequest = | |
record { | |
chat_id: ChatId; | |
}; | |
type PinChatResponse = | |
variant { | |
Success; | |
PinnedLimitReached: nat32; | |
}; | |
type UnpinChatRequest = | |
record { | |
chat_id: ChatId; | |
}; | |
type UnpinChatResponse = | |
variant { | |
Success; | |
}; | |
type ArchiveChatArgs = | |
record { | |
chat_id: ChatId; | |
}; | |
type ArchiveChatResponse = | |
variant { | |
Success; | |
ChatNotFound; | |
}; | |
type UnArchiveChatArgs = | |
record { | |
chat_id: ChatId; | |
}; | |
type UnArchiveChatResponse = | |
variant { | |
Success; | |
ChatNotFound; | |
}; | |
type InitUserPrincipalMigrationArgs = | |
record { | |
new_principal: principal; | |
}; | |
type InitUserPrincipalMigrationResponse = | |
variant { | |
Success; | |
}; | |
type MigrateUserPrincipalArgs = | |
record { | |
}; | |
type MigrateUserPrincipalResponse = | |
variant { | |
Success; | |
MigrationNotInitialized; | |
MigrationAlreadyInProgress; | |
PrincipalAlreadyInUse; | |
InternalError: text; | |
}; | |
type InitialStateV2Args = | |
record { | |
disable_cache: opt bool; | |
}; | |
type InitialStateV2Response = | |
variant { | |
Success: record { | |
timestamp: TimestampMillis; | |
direct_chats: vec DirectChatSummary; | |
group_chats: vec UserCanisterGroupChatSummary; | |
avatar_id: opt nat; | |
blocked_users: vec UserId; | |
pinned_chats: vec ChatId; | |
user_canister_wasm_version: Version; | |
}; | |
SuccessCached: record { | |
timestamp: TimestampMillis; | |
direct_chats: vec DirectChatSummary; | |
cache_timestamp: TimestampMillis; | |
cached_group_chat_summaries: vec GroupChatSummary; | |
group_chats_added: vec UserCanisterGroupChatSummary; | |
avatar_id: opt nat; | |
blocked_users: vec UserId; | |
pinned_chats: vec ChatId; | |
user_canister_wasm_version: Version; | |
}; | |
}; | |
type UpdatesV2Args = | |
record { | |
updates_since: TimestampMillis; | |
}; | |
type UpdatesV2Response = | |
variant { | |
Success: record { | |
timestamp: TimestampMillis; | |
direct_chats_added: vec DirectChatSummary; | |
direct_chats_updated: vec DirectChatSummaryUpdates; | |
group_chats_added: vec UserCanisterGroupChatSummary; | |
group_chats_updated: vec UserCanisterGroupChatSummaryUpdates; | |
chats_removed: vec ChatId; | |
avatar_id: AvatarIdUpdate; | |
user_canister_wasm_version: opt Version; | |
blocked_users_v2: opt vec UserId; | |
pinned_chats: opt vec ChatId; | |
}; | |
}; | |
type UserCanisterGroupChatSummary = | |
record { | |
chat_id: ChatId; | |
read_by_me_up_to: opt MessageIndex; | |
threads_read: vec record { MessageIndex; MessageIndex }; | |
archived: bool; | |
date_read_pinned: opt TimestampMillis; | |
}; | |
type UserCanisterGroupChatSummaryUpdates = | |
record { | |
chat_id: ChatId; | |
read_by_me_up_to: opt MessageIndex; | |
threads_read: vec record { MessageIndex; MessageIndex }; | |
archived: opt bool; | |
date_read_pinned: opt TimestampMillis; | |
}; | |
type EventsArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
start_index: EventIndex; | |
ascending: bool; | |
max_messages: nat32; | |
max_events: nat32; | |
latest_client_event_index: opt EventIndex; | |
}; | |
type EventsByIndexArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
events: vec EventIndex; | |
latest_client_event_index: opt EventIndex; | |
}; | |
type EventsWindowArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
mid_point: MessageIndex; | |
max_messages: nat32; | |
max_events: nat32; | |
latest_client_event_index: opt EventIndex; | |
}; | |
type EventsSuccessResult = | |
record { | |
events: vec ChatEventWrapper; | |
latest_event_index: EventIndex; | |
timestamp: TimestampMillis; | |
}; | |
type EventsResponse = | |
variant { | |
Success: EventsSuccessResult; | |
ChatNotFound; | |
ReplicaNotUpToDate: EventIndex; | |
}; | |
type MessagesByMessageIndexArgs = | |
record { | |
user_id: UserId; | |
thread_root_message_index: opt MessageIndex; | |
messages: vec MessageIndex; | |
latest_client_event_index: opt EventIndex; | |
}; | |
type MessagesByMessageIndexResponse = | |
variant { | |
Success: record { | |
messages: vec MessageEventWrapper; | |
latest_event_index: EventIndex; | |
}; | |
ChatNotFound; | |
ReplicaNotUpToDate: EventIndex; | |
}; | |
type SearchMessagesArgs = | |
record { | |
user_id: UserId; | |
search_term: text; | |
max_results: nat8; | |
}; | |
type SearchMessagesResponse = | |
variant { | |
Success: SearchMessagesSuccessResult; | |
TermTooShort: nat8; | |
TermTooLong: nat8; | |
InvalidTerm; | |
ChatNotFound; | |
}; | |
type SearchMessagesSuccessResult = | |
record { | |
matches: vec MessageMatch; | |
}; | |
type BioArgs = record {}; | |
type BioResponse = | |
variant { | |
Success: text; | |
}; | |
type ContactsArgs = record {}; | |
type ContactsResponse = | |
variant { | |
Success: record { | |
contacts: vec Contact; | |
}; | |
}; | |
type Contact = | |
record { | |
user_id: UserId; | |
nickname: opt text; | |
}; | |
type PublicProfileArgs = record {}; | |
type PublicProfileResponse = | |
variant { | |
Success: PublicProfile; | |
}; | |
type PublicProfile = | |
record { | |
username: text; | |
avatar_id: opt nat; | |
bio: text; | |
is_premium: bool; | |
phone_is_verified: bool; | |
created: TimestampMillis; | |
}; | |
type HotGroupExclusionsArgs = | |
record { | |
}; | |
type HotGroupExclusionsResponse = | |
variant { | |
Success: vec ChatId; | |
}; | |
type DeletedMessageArgs = | |
record { | |
user_id: UserId; | |
message_id: MessageId; | |
}; | |
type DeletedMessageResponse = | |
variant { | |
Success: record { | |
content: MessageContent; | |
}; | |
ChatNotFound; | |
NotAuthorized; | |
MessageNotFound; | |
MessageNotDeleted; | |
MessageHardDeleted; | |
}; | |
service: { | |
send_message: (SendMessageArgs) -> (SendMessageResponse); | |
edit_message: (EditMessageArgs) -> (EditMessageResponse); | |
delete_messages: (DeleteMessagesArgs) -> (DeleteMessagesResponse); | |
undelete_messages: (UndeleteMessagesArgs) -> (UndeleteMessagesResponse); | |
add_reaction: (AddReactionArgs) -> (AddReactionResponse); | |
remove_reaction: (RemoveReactionArgs) -> (RemoveReactionResponse); | |
mark_read_v2: (MarkReadArgs) -> (MarkReadResponse); | |
block_user: (BlockUserArgs) -> (BlockUserResponse); | |
unblock_user: (UnblockUserArgs) -> (UnblockUserResponse); | |
create_group: (CreateGroupArgs) -> (CreateGroupResponse); | |
leave_group: (LeaveGroupArgs) -> (LeaveGroupResponse); | |
delete_group: (DeleteGroupArgs) -> (DeleteGroupResponse); | |
set_avatar: (SetAvatarArgs) -> (SetAvatarResponse); | |
mute_notifications: (MuteNotificationsArgs) -> (MuteNotificationsResponse); | |
unmute_notifications: (UnmuteNotificationsArgs) -> (UnmuteNotificationsResponse); | |
add_hot_group_exclusions: (AddHotGroupExclusionsArgs) -> (AddHotGroupExclusionsResponse); | |
set_bio: (SetBioArgs) -> (SetBioResponse); | |
set_contact: (SetContactArgs) -> (SetContactResponse); | |
send_message_with_transfer_to_group: (SendMessageWithTransferToGroupArgs) -> (SendMessageWithTransferToGroupResponse); | |
transfer_crypto_within_group_v2: (TransferCryptoWithinGroupArgs) -> (SendMessageWithTransferToGroupResponse); | |
withdraw_crypto_v2: (WithdrawCryptoArgs) -> (WithdrawCryptoResponse); | |
pin_chat: (PinChatRequest) -> (PinChatResponse); | |
unpin_chat: (UnpinChatRequest) -> (UnpinChatResponse); | |
archive_chat: (ArchiveChatArgs) -> (ArchiveChatResponse); | |
unarchive_chat: (UnArchiveChatArgs) -> (UnArchiveChatResponse); | |
init_user_principal_migration: (InitUserPrincipalMigrationArgs) -> (InitUserPrincipalMigrationResponse); | |
migrate_user_principal: (MigrateUserPrincipalArgs) -> (MigrateUserPrincipalResponse); | |
events: (EventsArgs) -> (EventsResponse) query; | |
events_by_index: (EventsByIndexArgs) -> (EventsResponse) query; | |
events_window: (EventsWindowArgs) -> (EventsResponse) query; | |
messages_by_message_index: (MessagesByMessageIndexArgs) -> (MessagesByMessageIndexResponse) query; | |
deleted_message: (DeletedMessageArgs) -> (DeletedMessageResponse) query; | |
initial_state_v2: (InitialStateV2Args) -> (InitialStateV2Response) query; | |
updates_v2: (UpdatesV2Args) -> (UpdatesV2Response) query; | |
search_messages: (SearchMessagesArgs) -> (SearchMessagesResponse) query; // Search just the messages of one direct chat | |
bio: (BioArgs) -> (BioResponse) query; | |
contacts: (ContactsArgs) -> (ContactsResponse) query; | |
public_profile: (PublicProfileArgs) -> (PublicProfileResponse) query; | |
hot_group_exclusions: (HotGroupExclusionsArgs) -> (HotGroupExclusionsResponse) query; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment