mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-10-22 19:42:13 +00:00
Merge branch 'master' into ab/wallet
This commit is contained in:
commit
1c296bf552
41 files changed
+1569
-50
No files matched your search
@@ -266,6 +266,23 @@ export namespace APIAddMember {
|
||||
}
|
||||
}
|
||||
|
||||
// Add member of another group to group. Requires bot to have Admin role in the group, and direct messages allowed for its role in another group.
|
||||
// Network usage: interactive.
|
||||
export interface APIAddMemberViaGroup {
|
||||
groupId: number // int64
|
||||
viaGroupId: number // int64
|
||||
groupMemberId: number // int64
|
||||
memberRole: T.GroupMemberRole
|
||||
}
|
||||
|
||||
export namespace APIAddMemberViaGroup {
|
||||
export type Response = CR.SentGroupInvitationViaGroup | CR.ChatCmdError
|
||||
|
||||
export function cmdString(self: APIAddMemberViaGroup): string {
|
||||
return '/_add #' + self.groupId + ' #' + self.viaGroupId + ' ' + self.groupMemberId + ' ' + self.memberRole
|
||||
}
|
||||
}
|
||||
|
||||
// Join group.
|
||||
// Network usage: interactive.
|
||||
export interface APIJoinGroup {
|
||||
|
||||
@@ -17,6 +17,7 @@ export type ChatEvent =
|
||||
| CEvt.GroupChatItemsDeleted
|
||||
| CEvt.ChatItemsStatusesUpdated
|
||||
| CEvt.ReceivedGroupInvitation
|
||||
| CEvt.ReceivedGroupInvitationViaGroup
|
||||
| CEvt.UserJoinedGroup
|
||||
| CEvt.GroupUpdated
|
||||
| CEvt.JoinedGroupMember
|
||||
@@ -73,6 +74,7 @@ export namespace CEvt {
|
||||
| "groupChatItemsDeleted"
|
||||
| "chatItemsStatusesUpdated"
|
||||
| "receivedGroupInvitation"
|
||||
| "receivedGroupInvitationViaGroup"
|
||||
| "userJoinedGroup"
|
||||
| "groupUpdated"
|
||||
| "joinedGroupMember"
|
||||
@@ -210,6 +212,16 @@ export namespace CEvt {
|
||||
memberRole: T.GroupMemberRole
|
||||
}
|
||||
|
||||
export interface ReceivedGroupInvitationViaGroup extends Interface {
|
||||
type: "receivedGroupInvitationViaGroup"
|
||||
user: T.User
|
||||
groupInfo: T.GroupInfo
|
||||
viaGroupInfo: T.GroupInfo
|
||||
viaMember: T.GroupMember
|
||||
fromMemberRole: T.GroupMemberRole
|
||||
memberRole: T.GroupMemberRole
|
||||
}
|
||||
|
||||
export interface UserJoinedGroup extends Interface {
|
||||
type: "userJoinedGroup"
|
||||
user: T.User
|
||||
|
||||
@@ -51,6 +51,7 @@ export type ChatResponse =
|
||||
| CR.RemoteCtrlConnecting
|
||||
| CR.SentConfirmation
|
||||
| CR.SentGroupInvitation
|
||||
| CR.SentGroupInvitationViaGroup
|
||||
| CR.SentInvitation
|
||||
| CR.SentInvitationToContact
|
||||
| CR.ServiceReplyAccepted
|
||||
@@ -117,6 +118,7 @@ export namespace CR {
|
||||
| "remoteCtrlConnecting"
|
||||
| "sentConfirmation"
|
||||
| "sentGroupInvitation"
|
||||
| "sentGroupInvitationViaGroup"
|
||||
| "sentInvitation"
|
||||
| "sentInvitationToContact"
|
||||
| "serviceReplyAccepted"
|
||||
@@ -445,6 +447,15 @@ export namespace CR {
|
||||
member: T.GroupMember
|
||||
}
|
||||
|
||||
export interface SentGroupInvitationViaGroup extends Interface {
|
||||
type: "sentGroupInvitationViaGroup"
|
||||
user: T.User
|
||||
groupInfo: T.GroupInfo
|
||||
member: T.GroupMember
|
||||
viaGroupInfo: T.GroupInfo
|
||||
viaMember: T.GroupMember
|
||||
}
|
||||
|
||||
export interface SentInvitation extends Interface {
|
||||
type: "sentInvitation"
|
||||
user: T.User
|
||||
|
||||
@@ -261,6 +261,12 @@ export class ChatClient {
|
||||
throw new ChatCommandError("error adding member", r)
|
||||
}
|
||||
|
||||
async apiAddMemberViaGroup(groupId: number, viaGroupId: number, groupMemberId: number, memberRole: T.GroupMemberRole): Promise<T.GroupMember> {
|
||||
const r = await this.sendChatCmd(CC.APIAddMemberViaGroup.cmdString({groupId, viaGroupId, groupMemberId, memberRole}))
|
||||
if (r.type === "sentGroupInvitationViaGroup") return r.member
|
||||
throw new ChatCommandError("error adding member", r)
|
||||
}
|
||||
|
||||
async apiJoinGroup(groupId: number): Promise<T.GroupInfo> {
|
||||
const r = await this.sendChatCmd(CC.APIJoinGroup.cmdString({groupId}))
|
||||
if (r.type === "userAcceptedGroupSent") return r.groupInfo
|
||||
|
||||
Reference in new issue
Block a user