flackle-selfbot - v0.2.0
    Preparing search index...

    Class FlackleClient

    Unofficial Flackle client.

    const client = new FlackleClient();
    await client.login({ email: "...", password: "..." });
    client.on("messageCreate", (event) => console.log(event.message.content));
    await client.connect();

    Hierarchy (View Summary)

    Index
    login refreshSession fetchMe connect destroy fetchEntry fetchServers fetchServer fetchChannels fetchConversations fetchUnreadSummary fetchServerSettings fetchVoiceStates fetchStatus setStatus fetchSessions fetchSavedMedia logout fetchMessages sendMessage editMessage deleteMessage sendTyping stopTyping markRead react unreact fetchReactions fetchReactionUsers uploadAttachment uploadAttachmentDirect fetchFriends fetchFriendRequests fetchBlocked addFriend acceptFriendRequest rejectFriendRequest cancelFriendRequest removeFriend blockUser unblockUser createServer updateServer deleteServer leaveServer uploadServerIcon uploadServerBanner fetchChannelKinds createChannel updateChannel deleteChannel createCategory updateCategory deleteCategory updateChannelPositions updateCategoryPositions fetchChannelSettings updateChannelSettings fetchServerUserSettings updateServerUserSettings markServerRead updateServerPositions createFolder updateFolder deleteFolder updateFolderPositions fetchMembersPage fetchMembers fetchAllMembers fetchMember fetchChannelMembers updateMember setNickname setMemberRoles addMemberRole removeMemberRole timeoutMember removeTimeout kickMember banMember fetchBans unbanMember fetchRolesResponse fetchRoles updateRoles fetchServerPermissions fetchChannelPermissions fetchCategoryPermissions fetchPermissionOverwrites updatePermissionOverwrites fetchInvites createInvite deleteInvite validateInvite fetchServerInvites createServerInvite deleteServerInvite fetchServerInvite acceptServerInvite fetchAuditLog transferServer acceptServerTransfer denyServerTransfer cancelServerTransfer fetchMessagesByIds searchMessages bulkDeleteMessages fetchLatestMessageId updateMessageEmbeds saveMedia unsaveMedia createLinkPreview fetchConversation createDM createGroup updateConversation deleteConversation unhideConversation muteConversation unmuteConversation addConversationMembers removeConversationMember leaveConversation uploadConversationIcon fetchConversationVoiceState declineConversationCall stopConversationRinging fetchBlockedWarning dismissBlockedWarning fetchUserByUsername fetchUserById fetchUserCard fetchUserBento fetchUserBlocks updateBento updateBlocks uploadBlockImage updateProfile uploadAvatar uploadBanner checkUsername updateTypingIndicator changePassword changeEmail fetch2FAStatus setup2FA confirm2FA disable2FA createBackupCodes revokeSession revokeAllSessions fetchSecurityEvents clearSecurityEvents fetchGdprRequests submitGdprRequest cancelAccountDeletion acceptLegal createBillingPortal fetchServerVoiceState fetchServerVoiceStates warmVoice serverMuteVoiceMember serverDeafenVoiceMember moveVoiceMember disconnectVoiceMember submitReport reportUser reportMessage fetchServerLifts fetchServerLiftSupporters setSupporterRole fetchChannelAnalytics fetchChannelAnalyticsBundle fetchChannelAnalyticsCalendar fetchChannelAnalyticsPunchcard fetchSpotify searchGames fetchGame fetchTweet fetchWeather searchWeather on once off emit listenerCount removeAllListeners
    • Connects to the gateway and subscribes to all joined servers.

      Returns Promise<void>

    • Parameters

      • options: { serverId?: string; cursor?: string } = {}

      Returns Promise<SavedMediaPage>

    • Parameters

      Returns Promise<void>

    • Parameters

      Returns Promise<void>

    • Adds the current account's reaction.

      Parameters

      Returns Promise<void>

    • Removes the current account's reaction.

      Parameters

      Returns Promise<void>

    • Fetches every user who reacted with emoji.

      Parameters

      Returns Promise<User[]>

    • Uploads a file with Flackle's multipart protocol and returns the attachment descriptor accepted by sendMessage.

      Parameters

      • file: Blob
      • OptionalfileName: string

      Returns Promise<Attachment>

    • Uploads through the direct attachment endpoint (multipart file field). This is a simpler alternative to the presigned /api/uploads flow and is what the web client uses for channel and conversation attachments.

      Parameters

      • target: MessageTarget
      • file: Blob
      • OptionalfileName: string
      • direct: boolean = false

      Returns Promise<Attachment[]>

    • Parameters

      • Optionalsearch: string

      Returns Promise<User[]>

    • Parameters

      • username: string

      Returns Promise<void>

    • Parameters

      • requestId: string

      Returns Promise<void>

    • Parameters

      • requestId: string

      Returns Promise<void>

    • Parameters

      • requestId: string

      Returns Promise<void>

    • Parameters

      • userId: string

      Returns Promise<void>

    • Parameters

      • userId: string

      Returns Promise<void>

    • Parameters

      • userId: string

      Returns Promise<void>

    • Deletes a server. The account must be the owner.

      Parameters

      • serverId: string

      Returns Promise<void>

    • Parameters

      • serverId: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • image: Blob

      Returns Promise<string>

    • Parameters

      • serverId: string
      • image: Blob

      Returns Promise<string>

    • Returns Promise<string[]>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • categoryId: string

      Returns Promise<void>

    • Reads per-server notification settings from the account settings bundle.

      Parameters

      • serverId: string

      Returns Promise<ServerUserSettings | undefined>

    • Parameters

      • serverId: string

      Returns Promise<void>

    • Parameters

      • name: string
      • Optionalcolor: string

      Returns Promise<{ folder?: unknown }>

    • Parameters

      • folderId: string
      • patch: { name?: string; color?: string | null }

      Returns Promise<{ folder?: unknown }>

    • Parameters

      • folderId: string

      Returns Promise<void>

    • Parameters

      • positions: { id: string; position: number }[]

      Returns Promise<void>

    • Parameters

      • serverId: string
      • options: { limit?: number; offset?: number } = {}

      Returns Promise<MemberPage>

    • Parameters

      • serverId: string
      • options: { limit?: number; offset?: number } = {}

      Returns Promise<Member[]>

    • Walks the member list until it is exhausted or maxPages is reached.

      Parameters

      • serverId: string
      • options: { pageSize?: number; maxPages?: number } = {}

      Returns Promise<Member[]>

    • Parameters

      • serverId: string
      • userId: string

      Returns Promise<Member>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<string[]>

    • Parameters

      • serverId: string
      • userId: string
      • patch: { nickname?: string | null; [key: string]: unknown }

      Returns Promise<Member>

    • Parameters

      • serverId: string
      • userId: string
      • nickname: string | null

      Returns Promise<Member>

    • Parameters

      • serverId: string
      • userId: string
      • add: string[] = []
      • remove: string[] = []

      Returns Promise<Member>

    • Parameters

      • serverId: string
      • userId: string
      • roleId: string

      Returns Promise<Member>

    • Parameters

      • serverId: string
      • userId: string
      • roleId: string

      Returns Promise<Member>

    • Parameters

      • serverId: string
      • userId: string
      • durationSeconds: number
      • Optionalreason: string

      Returns Promise<TimeoutResult>

    • Parameters

      • serverId: string
      • userId: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • userId: string
      • Optionalreason: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • userId: string
      • Optionalreason: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • userId: string

      Returns Promise<void>

    • Parameters

      • serverId: string

      Returns Promise<Role[]>

    • Applies a role batch. Role icons can be uploaded by passing blobs keyed by role ID; the request is then sent as multipart changes + icon_<id>.

      Parameters

      Returns Promise<RoleBatchResponse>

    • Parameters

      • serverId: string

      Returns Promise<string>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<string>

    • Parameters

      • serverId: string
      • categoryId: string

      Returns Promise<string>

    • Parameters

      • options: { max_uses?: number; grants_root?: boolean } = {}

      Returns Promise<Invite>

    • Parameters

      • code: string

      Returns Promise<void>

    • Parameters

      • code: string

      Returns Promise<unknown>

    • Parameters

      • serverId: string
      • options: {
            max_uses?: number;
            expires_at?: string;
            channel_id?: string;
            force_new?: boolean;
        } = {}

      Returns Promise<Invite>

    • Parameters

      • serverId: string
      • code: string

      Returns Promise<void>

    • Parameters

      • code: string

      Returns Promise<
          { server?: Server; landing_channel_id?: string; [key: string]: unknown },
      >

    • Parameters

      • serverId: string

      Returns Promise<void>

    • Parameters

      • serverId: string

      Returns Promise<void>

    • Parameters

      • serverId: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • channelId: string
      • count: number
      • Optionalreason: string

      Returns Promise<BulkDeleteResult>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<string | null>

    • Parameters

      • url: string

      Returns Promise<unknown>

    • Hides the conversation for the current account.

      Parameters

      • conversationId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string
      • memberIds: string[]

      Returns Promise<{ members?: ConversationMember[]; [key: string]: unknown }>

    • Parameters

      • conversationId: string
      • userId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string
      • silent: boolean = false

      Returns Promise<void>

    • Parameters

      • conversationId: string
      • image: Blob

      Returns Promise<string>

    • Parameters

      • conversationId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string
      • userId: string

      Returns Promise<void>

    • Parameters

      • conversationId: string

      Returns Promise<{ should_show?: boolean; blocked_members?: unknown[] }>

    • Parameters

      • conversationId: string

      Returns Promise<void>

    • Parameters

      • username: string

      Returns Promise<User>

    • Parameters

      • username: string
      • OptionalserverId: string

      Returns Promise<UserCard>

    • Parameters

      • image: Blob

      Returns Promise<string>

    • Parameters

      • patch: { display_name?: string | null; username?: string; password?: string }

      Returns Promise<User>

    • Parameters

      • image: Blob

      Returns Promise<string>

    • Parameters

      • image: Blob

      Returns Promise<string>

    • Parameters

      • username: string

      Returns Promise<{ available?: boolean; [key: string]: unknown }>

    • Parameters

      • currentPassword: string
      • newPassword: string

      Returns Promise<{ message?: string; [key: string]: unknown }>

    • Parameters

      • newEmail: string
      • password: string

      Returns Promise<unknown>

    • Parameters

      • code: string

      Returns Promise<unknown>

    • Parameters

      • options: { password: string; code?: string; backupCode?: string }

      Returns Promise<void>

    • Parameters

      • sessionId: string
      • Optionalcode: string

      Returns Promise<void>

    • Parameters

      • Optionalcode: string

      Returns Promise<void>

    • Parameters

      • Optionalcode: string

      Returns Promise<void>

    • Parameters

      • type: string & {} | "data" | "delete"

      Returns Promise<void>

    • Returns Promise<void>

    • Parameters

      • version: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<unknown>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • channelId: string
      • userId: string
      • muted: boolean

      Returns Promise<void>

    • Parameters

      • serverId: string
      • channelId: string
      • userId: string
      • deafened: boolean

      Returns Promise<void>

    • Moves a member into the moderator's current voice channel.

      Parameters

      • serverId: string
      • channelId: string
      • userId: string

      Returns Promise<void>

    • Parameters

      • serverId: string
      • channelId: string
      • userId: string

      Returns Promise<void>

    • Parameters

      • userId: string
      • options: Omit<ReportInput, "report_type" | "reported_user_id">

      Returns Promise<unknown>

    • Parameters

      • target: MessageTarget
      • messageId: string
      • options: Omit<
            ReportInput,
            | "report_type"
            | "reported_message_id"
            | "reported_channel_id"
            | "reported_conversation_id",
        >

      Returns Promise<unknown>

    • Parameters

      • serverId: string

      Returns Promise<unknown>

    • Parameters

      • serverId: string

      Returns Promise<unknown>

    • Parameters

      • serverId: string
      • channelId: string
      • scope: string

      Returns Promise<unknown>

    • Parameters

      • serverId: string
      • channelId: string

      Returns Promise<unknown>

    • Parameters

      • serverId: string
      • channelId: string
      • query: Record<string, unknown> = {}

      Returns Promise<unknown>

    • Parameters

      • serverId: string
      • channelId: string
      • days: number = 30

      Returns Promise<unknown>

    • Parameters

      • url: string

      Returns Promise<unknown>

    • Looks up game metadata used by rich presence embeds.

      Parameters

      • query: string

      Returns Promise<Game[]>

    • Parameters

      • url: string

      Returns Promise<unknown>

    • Parameters

      • location: string

      Returns Promise<unknown>

    • Parameters

      • query: string

      Returns Promise<unknown>

    gateway: Gateway
    autoSubscribe: boolean
    user?: SelfUser