hischool.js 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/lib/cjs/Client.d.ts +166 -0
- package/lib/cjs/Client.d.ts.map +1 -0
- package/lib/cjs/Client.js +221 -0
- package/lib/cjs/api/baseURL.d.ts +2 -0
- package/lib/cjs/api/baseURL.d.ts.map +1 -0
- package/lib/cjs/api/baseURL.js +5 -0
- package/lib/cjs/api/index.d.ts +177 -0
- package/lib/cjs/api/index.d.ts.map +1 -0
- package/lib/cjs/api/index.js +150 -0
- package/lib/cjs/api/params.d.ts +285 -0
- package/lib/cjs/api/params.d.ts.map +1 -0
- package/lib/cjs/api/params.js +194 -0
- package/lib/cjs/api/routes.d.ts +1089 -0
- package/lib/cjs/api/routes.d.ts.map +1 -0
- package/lib/cjs/api/routes.js +2 -0
- package/lib/cjs/api/schema.d.ts +4705 -0
- package/lib/cjs/api/schema.d.ts.map +1 -0
- package/lib/cjs/api/schema.js +2 -0
- package/lib/cjs/api/types.d.ts +131 -0
- package/lib/cjs/api/types.d.ts.map +1 -0
- package/lib/cjs/api/types.js +2 -0
- package/lib/cjs/classes/BannedUser.d.ts +18 -0
- package/lib/cjs/classes/BannedUser.d.ts.map +1 -0
- package/lib/cjs/classes/BannedUser.js +21 -0
- package/lib/cjs/classes/Bot.d.ts +82 -0
- package/lib/cjs/classes/Bot.d.ts.map +1 -0
- package/lib/cjs/classes/Bot.js +145 -0
- package/lib/cjs/classes/Channel.d.ts +465 -0
- package/lib/cjs/classes/Channel.d.ts.map +1 -0
- package/lib/cjs/classes/Channel.js +599 -0
- package/lib/cjs/classes/ChannelUnread.d.ts +27 -0
- package/lib/cjs/classes/ChannelUnread.d.ts.map +1 -0
- package/lib/cjs/classes/ChannelUnread.js +50 -0
- package/lib/cjs/classes/ChannelWebhook.d.ts +53 -0
- package/lib/cjs/classes/ChannelWebhook.d.ts.map +1 -0
- package/lib/cjs/classes/ChannelWebhook.js +113 -0
- package/lib/cjs/classes/Emoji.d.ts +57 -0
- package/lib/cjs/classes/Emoji.d.ts.map +1 -0
- package/lib/cjs/classes/Emoji.js +104 -0
- package/lib/cjs/classes/File.d.ts +67 -0
- package/lib/cjs/classes/File.d.ts.map +1 -0
- package/lib/cjs/classes/File.js +102 -0
- package/lib/cjs/classes/Invite.d.ts +60 -0
- package/lib/cjs/classes/Invite.d.ts.map +1 -0
- package/lib/cjs/classes/Invite.js +91 -0
- package/lib/cjs/classes/MFA.d.ts +83 -0
- package/lib/cjs/classes/MFA.d.ts.map +1 -0
- package/lib/cjs/classes/MFA.js +196 -0
- package/lib/cjs/classes/Message.d.ts +484 -0
- package/lib/cjs/classes/Message.d.ts.map +1 -0
- package/lib/cjs/classes/Message.js +341 -0
- package/lib/cjs/classes/MessageEmbed.d.ts +122 -0
- package/lib/cjs/classes/MessageEmbed.d.ts.map +1 -0
- package/lib/cjs/classes/MessageEmbed.js +181 -0
- package/lib/cjs/classes/PublicBot.d.ts +28 -0
- package/lib/cjs/classes/PublicBot.d.ts.map +1 -0
- package/lib/cjs/classes/PublicBot.js +60 -0
- package/lib/cjs/classes/PublicInvite.d.ts +57 -0
- package/lib/cjs/classes/PublicInvite.d.ts.map +1 -0
- package/lib/cjs/classes/PublicInvite.js +104 -0
- package/lib/cjs/classes/Server.d.ts +473 -0
- package/lib/cjs/classes/Server.d.ts.map +1 -0
- package/lib/cjs/classes/Server.js +585 -0
- package/lib/cjs/classes/ServerBan.d.ts +26 -0
- package/lib/cjs/classes/ServerBan.d.ts.map +1 -0
- package/lib/cjs/classes/ServerBan.js +44 -0
- package/lib/cjs/classes/ServerMember.d.ts +138 -0
- package/lib/cjs/classes/ServerMember.d.ts.map +1 -0
- package/lib/cjs/classes/ServerMember.js +234 -0
- package/lib/cjs/classes/Session.d.ts +45 -0
- package/lib/cjs/classes/Session.d.ts.map +1 -0
- package/lib/cjs/classes/Session.js +94 -0
- package/lib/cjs/classes/SystemMessage.d.ts +127 -0
- package/lib/cjs/classes/SystemMessage.d.ts.map +1 -0
- package/lib/cjs/classes/SystemMessage.js +172 -0
- package/lib/cjs/classes/User.d.ts +203 -0
- package/lib/cjs/classes/User.d.ts.map +1 -0
- package/lib/cjs/classes/User.js +299 -0
- package/lib/cjs/classes/UserProfile.d.ts +23 -0
- package/lib/cjs/classes/UserProfile.d.ts.map +1 -0
- package/lib/cjs/classes/UserProfile.js +35 -0
- package/lib/cjs/classes/index.d.ts +21 -0
- package/lib/cjs/classes/index.d.ts.map +1 -0
- package/lib/cjs/classes/index.js +36 -0
- package/lib/cjs/collections/AccountCollection.d.ts +91 -0
- package/lib/cjs/collections/AccountCollection.d.ts.map +1 -0
- package/lib/cjs/collections/AccountCollection.js +150 -0
- package/lib/cjs/collections/BotCollection.d.ts +39 -0
- package/lib/cjs/collections/BotCollection.d.ts.map +1 -0
- package/lib/cjs/collections/BotCollection.js +89 -0
- package/lib/cjs/collections/ChannelCollection.d.ts +39 -0
- package/lib/cjs/collections/ChannelCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ChannelCollection.js +93 -0
- package/lib/cjs/collections/ChannelUnreadCollection.d.ts +24 -0
- package/lib/cjs/collections/ChannelUnreadCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ChannelUnreadCollection.js +56 -0
- package/lib/cjs/collections/ChannelWebhookCollection.d.ts +29 -0
- package/lib/cjs/collections/ChannelWebhookCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ChannelWebhookCollection.js +69 -0
- package/lib/cjs/collections/Collection.d.ts +153 -0
- package/lib/cjs/collections/Collection.d.ts.map +1 -0
- package/lib/cjs/collections/Collection.js +170 -0
- package/lib/cjs/collections/EmojiCollection.d.ts +27 -0
- package/lib/cjs/collections/EmojiCollection.d.ts.map +1 -0
- package/lib/cjs/collections/EmojiCollection.js +67 -0
- package/lib/cjs/collections/MessageCollection.d.ts +28 -0
- package/lib/cjs/collections/MessageCollection.d.ts.map +1 -0
- package/lib/cjs/collections/MessageCollection.js +69 -0
- package/lib/cjs/collections/ServerCollection.d.ts +36 -0
- package/lib/cjs/collections/ServerCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ServerCollection.js +96 -0
- package/lib/cjs/collections/ServerMemberCollection.d.ts +45 -0
- package/lib/cjs/collections/ServerMemberCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ServerMemberCollection.js +95 -0
- package/lib/cjs/collections/SessionCollection.d.ts +27 -0
- package/lib/cjs/collections/SessionCollection.d.ts.map +1 -0
- package/lib/cjs/collections/SessionCollection.js +63 -0
- package/lib/cjs/collections/UserCollection.d.ts +31 -0
- package/lib/cjs/collections/UserCollection.d.ts.map +1 -0
- package/lib/cjs/collections/UserCollection.js +81 -0
- package/lib/cjs/collections/index.d.ts +12 -0
- package/lib/cjs/collections/index.d.ts.map +1 -0
- package/lib/cjs/collections/index.js +38 -0
- package/lib/cjs/events/EventClient.d.ts +89 -0
- package/lib/cjs/events/EventClient.d.ts.map +1 -0
- package/lib/cjs/events/EventClient.js +186 -0
- package/lib/cjs/events/index.d.ts +18 -0
- package/lib/cjs/events/index.d.ts.map +1 -0
- package/lib/cjs/events/index.js +20 -0
- package/lib/cjs/events/v1.d.ts +214 -0
- package/lib/cjs/events/v1.d.ts.map +1 -0
- package/lib/cjs/events/v1.js +502 -0
- package/lib/cjs/hydration/bot.d.ts +21 -0
- package/lib/cjs/hydration/bot.d.ts.map +1 -0
- package/lib/cjs/hydration/bot.js +31 -0
- package/lib/cjs/hydration/channel.d.ts +25 -0
- package/lib/cjs/hydration/channel.d.ts.map +1 -0
- package/lib/cjs/hydration/channel.js +40 -0
- package/lib/cjs/hydration/channelUnread.d.ts +11 -0
- package/lib/cjs/hydration/channelUnread.d.ts.map +1 -0
- package/lib/cjs/hydration/channelUnread.js +19 -0
- package/lib/cjs/hydration/channelWebhook.d.ts +12 -0
- package/lib/cjs/hydration/channelWebhook.d.ts.map +1 -0
- package/lib/cjs/hydration/channelWebhook.js +21 -0
- package/lib/cjs/hydration/emoji.d.ts +13 -0
- package/lib/cjs/hydration/emoji.d.ts.map +1 -0
- package/lib/cjs/hydration/emoji.js +18 -0
- package/lib/cjs/hydration/index.d.ts +1404 -0
- package/lib/cjs/hydration/index.d.ts.map +1 -0
- package/lib/cjs/hydration/index.js +68 -0
- package/lib/cjs/hydration/message.d.ts +25 -0
- package/lib/cjs/hydration/message.d.ts.map +1 -0
- package/lib/cjs/hydration/message.js +48 -0
- package/lib/cjs/hydration/server.d.ts +31 -0
- package/lib/cjs/hydration/server.d.ts.map +1 -0
- package/lib/cjs/hydration/server.js +44 -0
- package/lib/cjs/hydration/serverMember.d.ts +14 -0
- package/lib/cjs/hydration/serverMember.d.ts.map +1 -0
- package/lib/cjs/hydration/serverMember.js +21 -0
- package/lib/cjs/hydration/session.d.ts +8 -0
- package/lib/cjs/hydration/session.d.ts.map +1 -0
- package/lib/cjs/hydration/session.js +13 -0
- package/lib/cjs/hydration/user.d.ts +43 -0
- package/lib/cjs/hydration/user.d.ts.map +1 -0
- package/lib/cjs/hydration/user.js +53 -0
- package/lib/cjs/index.d.ts +9 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +43 -0
- package/lib/cjs/lib/merge.d.ts +15 -0
- package/lib/cjs/lib/merge.d.ts.map +1 -0
- package/lib/cjs/lib/merge.js +2 -0
- package/lib/cjs/lib/regex.d.ts +13 -0
- package/lib/cjs/lib/regex.d.ts.map +1 -0
- package/lib/cjs/lib/regex.js +15 -0
- package/lib/cjs/permissions/calculator.d.ts +19 -0
- package/lib/cjs/permissions/calculator.d.ts.map +1 -0
- package/lib/cjs/permissions/calculator.js +136 -0
- package/lib/cjs/permissions/definitions.d.ts +73 -0
- package/lib/cjs/permissions/definitions.d.ts.map +1 -0
- package/lib/cjs/permissions/definitions.js +124 -0
- package/lib/cjs/storage/ObjectStorage.d.ts +28 -0
- package/lib/cjs/storage/ObjectStorage.d.ts.map +1 -0
- package/lib/cjs/storage/ObjectStorage.js +41 -0
- package/lib/esm/Client.d.ts +166 -0
- package/lib/esm/Client.d.ts.map +1 -0
- package/lib/esm/Client.js +214 -0
- package/lib/esm/api/baseURL.d.ts +2 -0
- package/lib/esm/api/baseURL.d.ts.map +1 -0
- package/lib/esm/api/baseURL.js +2 -0
- package/lib/esm/api/index.d.ts +177 -0
- package/lib/esm/api/index.d.ts.map +1 -0
- package/lib/esm/api/index.js +139 -0
- package/lib/esm/api/params.d.ts +285 -0
- package/lib/esm/api/params.d.ts.map +1 -0
- package/lib/esm/api/params.js +191 -0
- package/lib/esm/api/routes.d.ts +1089 -0
- package/lib/esm/api/routes.d.ts.map +1 -0
- package/lib/esm/api/routes.js +1 -0
- package/lib/esm/api/schema.d.ts +4705 -0
- package/lib/esm/api/schema.d.ts.map +1 -0
- package/lib/esm/api/schema.js +1 -0
- package/lib/esm/api/types.d.ts +131 -0
- package/lib/esm/api/types.d.ts.map +1 -0
- package/lib/esm/api/types.js +1 -0
- package/lib/esm/classes/BannedUser.d.ts +18 -0
- package/lib/esm/classes/BannedUser.d.ts.map +1 -0
- package/lib/esm/classes/BannedUser.js +21 -0
- package/lib/esm/classes/Bot.d.ts +82 -0
- package/lib/esm/classes/Bot.d.ts.map +1 -0
- package/lib/esm/classes/Bot.js +116 -0
- package/lib/esm/classes/Channel.d.ts +465 -0
- package/lib/esm/classes/Channel.d.ts.map +1 -0
- package/lib/esm/classes/Channel.js +529 -0
- package/lib/esm/classes/ChannelUnread.d.ts +27 -0
- package/lib/esm/classes/ChannelUnread.d.ts.map +1 -0
- package/lib/esm/classes/ChannelUnread.js +34 -0
- package/lib/esm/classes/ChannelWebhook.d.ts +53 -0
- package/lib/esm/classes/ChannelWebhook.d.ts.map +1 -0
- package/lib/esm/classes/ChannelWebhook.js +83 -0
- package/lib/esm/classes/Emoji.d.ts +57 -0
- package/lib/esm/classes/Emoji.d.ts.map +1 -0
- package/lib/esm/classes/Emoji.js +77 -0
- package/lib/esm/classes/File.d.ts +67 -0
- package/lib/esm/classes/File.d.ts.map +1 -0
- package/lib/esm/classes/File.js +105 -0
- package/lib/esm/classes/Invite.d.ts +60 -0
- package/lib/esm/classes/Invite.d.ts.map +1 -0
- package/lib/esm/classes/Invite.js +80 -0
- package/lib/esm/classes/MFA.d.ts +83 -0
- package/lib/esm/classes/MFA.d.ts.map +1 -0
- package/lib/esm/classes/MFA.js +165 -0
- package/lib/esm/classes/Message.d.ts +484 -0
- package/lib/esm/classes/Message.d.ts.map +1 -0
- package/lib/esm/classes/Message.js +300 -0
- package/lib/esm/classes/MessageEmbed.d.ts +122 -0
- package/lib/esm/classes/MessageEmbed.d.ts.map +1 -0
- package/lib/esm/classes/MessageEmbed.js +192 -0
- package/lib/esm/classes/PublicBot.d.ts +28 -0
- package/lib/esm/classes/PublicBot.d.ts.map +1 -0
- package/lib/esm/classes/PublicBot.js +47 -0
- package/lib/esm/classes/PublicInvite.d.ts +57 -0
- package/lib/esm/classes/PublicInvite.d.ts.map +1 -0
- package/lib/esm/classes/PublicInvite.js +100 -0
- package/lib/esm/classes/Server.d.ts +473 -0
- package/lib/esm/classes/Server.d.ts.map +1 -0
- package/lib/esm/classes/Server.js +522 -0
- package/lib/esm/classes/ServerBan.d.ts +26 -0
- package/lib/esm/classes/ServerBan.d.ts.map +1 -0
- package/lib/esm/classes/ServerBan.js +33 -0
- package/lib/esm/classes/ServerMember.d.ts +138 -0
- package/lib/esm/classes/ServerMember.d.ts.map +1 -0
- package/lib/esm/classes/ServerMember.js +199 -0
- package/lib/esm/classes/Session.d.ts +45 -0
- package/lib/esm/classes/Session.d.ts.map +1 -0
- package/lib/esm/classes/Session.js +65 -0
- package/lib/esm/classes/SystemMessage.d.ts +127 -0
- package/lib/esm/classes/SystemMessage.d.ts.map +1 -0
- package/lib/esm/classes/SystemMessage.js +171 -0
- package/lib/esm/classes/User.d.ts +203 -0
- package/lib/esm/classes/User.d.ts.map +1 -0
- package/lib/esm/classes/User.js +252 -0
- package/lib/esm/classes/UserProfile.d.ts +23 -0
- package/lib/esm/classes/UserProfile.d.ts.map +1 -0
- package/lib/esm/classes/UserProfile.js +31 -0
- package/lib/esm/classes/index.d.ts +21 -0
- package/lib/esm/classes/index.d.ts.map +1 -0
- package/lib/esm/classes/index.js +20 -0
- package/lib/esm/collections/AccountCollection.d.ts +91 -0
- package/lib/esm/collections/AccountCollection.d.ts.map +1 -0
- package/lib/esm/collections/AccountCollection.js +139 -0
- package/lib/esm/collections/BotCollection.d.ts +39 -0
- package/lib/esm/collections/BotCollection.d.ts.map +1 -0
- package/lib/esm/collections/BotCollection.js +68 -0
- package/lib/esm/collections/ChannelCollection.d.ts +39 -0
- package/lib/esm/collections/ChannelCollection.d.ts.map +1 -0
- package/lib/esm/collections/ChannelCollection.js +75 -0
- package/lib/esm/collections/ChannelUnreadCollection.d.ts +24 -0
- package/lib/esm/collections/ChannelUnreadCollection.d.ts.map +1 -0
- package/lib/esm/collections/ChannelUnreadCollection.js +41 -0
- package/lib/esm/collections/ChannelWebhookCollection.d.ts +29 -0
- package/lib/esm/collections/ChannelWebhookCollection.d.ts.map +1 -0
- package/lib/esm/collections/ChannelWebhookCollection.js +52 -0
- package/lib/esm/collections/Collection.d.ts +153 -0
- package/lib/esm/collections/Collection.d.ts.map +1 -0
- package/lib/esm/collections/Collection.js +160 -0
- package/lib/esm/collections/EmojiCollection.d.ts +27 -0
- package/lib/esm/collections/EmojiCollection.d.ts.map +1 -0
- package/lib/esm/collections/EmojiCollection.js +52 -0
- package/lib/esm/collections/MessageCollection.d.ts +28 -0
- package/lib/esm/collections/MessageCollection.d.ts.map +1 -0
- package/lib/esm/collections/MessageCollection.js +54 -0
- package/lib/esm/collections/ServerCollection.d.ts +36 -0
- package/lib/esm/collections/ServerCollection.d.ts.map +1 -0
- package/lib/esm/collections/ServerCollection.js +79 -0
- package/lib/esm/collections/ServerMemberCollection.d.ts +45 -0
- package/lib/esm/collections/ServerMemberCollection.d.ts.map +1 -0
- package/lib/esm/collections/ServerMemberCollection.js +80 -0
- package/lib/esm/collections/SessionCollection.d.ts +27 -0
- package/lib/esm/collections/SessionCollection.d.ts.map +1 -0
- package/lib/esm/collections/SessionCollection.js +46 -0
- package/lib/esm/collections/UserCollection.d.ts +31 -0
- package/lib/esm/collections/UserCollection.d.ts.map +1 -0
- package/lib/esm/collections/UserCollection.js +66 -0
- package/lib/esm/collections/index.d.ts +12 -0
- package/lib/esm/collections/index.d.ts.map +1 -0
- package/lib/esm/collections/index.js +11 -0
- package/lib/esm/events/EventClient.d.ts +89 -0
- package/lib/esm/events/EventClient.d.ts.map +1 -0
- package/lib/esm/events/EventClient.js +175 -0
- package/lib/esm/events/index.d.ts +18 -0
- package/lib/esm/events/index.d.ts.map +1 -0
- package/lib/esm/events/index.js +2 -0
- package/lib/esm/events/v1.d.ts +214 -0
- package/lib/esm/events/v1.d.ts.map +1 -0
- package/lib/esm/events/v1.js +514 -0
- package/lib/esm/hydration/bot.d.ts +21 -0
- package/lib/esm/hydration/bot.d.ts.map +1 -0
- package/lib/esm/hydration/bot.js +28 -0
- package/lib/esm/hydration/channel.d.ts +25 -0
- package/lib/esm/hydration/channel.d.ts.map +1 -0
- package/lib/esm/hydration/channel.js +37 -0
- package/lib/esm/hydration/channelUnread.d.ts +11 -0
- package/lib/esm/hydration/channelUnread.d.ts.map +1 -0
- package/lib/esm/hydration/channelUnread.js +16 -0
- package/lib/esm/hydration/channelWebhook.d.ts +12 -0
- package/lib/esm/hydration/channelWebhook.d.ts.map +1 -0
- package/lib/esm/hydration/channelWebhook.js +18 -0
- package/lib/esm/hydration/emoji.d.ts +13 -0
- package/lib/esm/hydration/emoji.d.ts.map +1 -0
- package/lib/esm/hydration/emoji.js +15 -0
- package/lib/esm/hydration/index.d.ts +1404 -0
- package/lib/esm/hydration/index.d.ts.map +1 -0
- package/lib/esm/hydration/index.js +65 -0
- package/lib/esm/hydration/message.d.ts +25 -0
- package/lib/esm/hydration/message.d.ts.map +1 -0
- package/lib/esm/hydration/message.js +45 -0
- package/lib/esm/hydration/server.d.ts +31 -0
- package/lib/esm/hydration/server.d.ts.map +1 -0
- package/lib/esm/hydration/server.js +41 -0
- package/lib/esm/hydration/serverMember.d.ts +14 -0
- package/lib/esm/hydration/serverMember.d.ts.map +1 -0
- package/lib/esm/hydration/serverMember.js +18 -0
- package/lib/esm/hydration/session.d.ts +8 -0
- package/lib/esm/hydration/session.d.ts.map +1 -0
- package/lib/esm/hydration/session.js +10 -0
- package/lib/esm/hydration/user.d.ts +43 -0
- package/lib/esm/hydration/user.d.ts.map +1 -0
- package/lib/esm/hydration/user.js +50 -0
- package/lib/esm/index.d.ts +9 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +8 -0
- package/lib/esm/lib/merge.d.ts +15 -0
- package/lib/esm/lib/merge.d.ts.map +1 -0
- package/lib/esm/lib/merge.js +1 -0
- package/lib/esm/lib/regex.d.ts +13 -0
- package/lib/esm/lib/regex.d.ts.map +1 -0
- package/lib/esm/lib/regex.js +12 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/permissions/calculator.d.ts +19 -0
- package/lib/esm/permissions/calculator.d.ts.map +1 -0
- package/lib/esm/permissions/calculator.js +129 -0
- package/lib/esm/permissions/definitions.d.ts +73 -0
- package/lib/esm/permissions/definitions.d.ts.map +1 -0
- package/lib/esm/permissions/definitions.js +121 -0
- package/lib/esm/storage/ObjectStorage.d.ts +28 -0
- package/lib/esm/storage/ObjectStorage.d.ts.map +1 -0
- package/lib/esm/storage/ObjectStorage.js +39 -0
- package/package.json +59 -0
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
12
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
13
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
14
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
15
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
16
|
+
};
|
|
17
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
18
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
21
|
+
};
|
|
22
|
+
var _Channel_collection, _Channel_ackTimeout, _Channel_ackLimit, _Channel_manuallyMarked;
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.Channel = void 0;
|
|
25
|
+
const calculator_js_1 = require("../permissions/calculator.js");
|
|
26
|
+
const definitions_js_1 = require("../permissions/definitions.js");
|
|
27
|
+
const solid_js_1 = require("solid-js");
|
|
28
|
+
const ulid_1 = require("ulid");
|
|
29
|
+
/**
|
|
30
|
+
* Channel Class
|
|
31
|
+
*/
|
|
32
|
+
class Channel {
|
|
33
|
+
/**
|
|
34
|
+
* Construct Channel
|
|
35
|
+
* @param collection Collection
|
|
36
|
+
* @param id Channel Id
|
|
37
|
+
*/
|
|
38
|
+
constructor(collection, id) {
|
|
39
|
+
_Channel_collection.set(this, void 0);
|
|
40
|
+
_Channel_ackTimeout.set(this, void 0);
|
|
41
|
+
_Channel_ackLimit.set(this, void 0);
|
|
42
|
+
_Channel_manuallyMarked.set(this, void 0);
|
|
43
|
+
__classPrivateFieldSet(this, _Channel_collection, collection, "f");
|
|
44
|
+
this.id = id;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Write to string as a channel mention
|
|
48
|
+
* @returns Formatted String
|
|
49
|
+
*/
|
|
50
|
+
toString() {
|
|
51
|
+
return `<#${this.id}>`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether this object exists
|
|
55
|
+
*/
|
|
56
|
+
get $exists() {
|
|
57
|
+
return !!__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).id;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Time when this server was created
|
|
61
|
+
*/
|
|
62
|
+
get createdAt() {
|
|
63
|
+
return new Date((0, ulid_1.decodeTime)(this.id));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Channel type
|
|
67
|
+
*/
|
|
68
|
+
get type() {
|
|
69
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).channelType;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Absolute pathname to this channel in the client
|
|
73
|
+
*/
|
|
74
|
+
get path() {
|
|
75
|
+
if (this.serverId) {
|
|
76
|
+
return `/server/${this.serverId}/channel/${this.id}`;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return `/channel/${this.id}`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* URL to this channel
|
|
84
|
+
*/
|
|
85
|
+
get url() {
|
|
86
|
+
var _a;
|
|
87
|
+
return ((_a = __classPrivateFieldGet(this, _Channel_collection, "f").client.configuration) === null || _a === void 0 ? void 0 : _a.app) + this.path;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Channel name
|
|
91
|
+
*/
|
|
92
|
+
get name() {
|
|
93
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).name;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Display name
|
|
97
|
+
*/
|
|
98
|
+
get displayName() {
|
|
99
|
+
var _a, _b;
|
|
100
|
+
return this.type === "SavedMessages"
|
|
101
|
+
? (_a = this.user) === null || _a === void 0 ? void 0 : _a.username
|
|
102
|
+
: this.type === "DirectMessage"
|
|
103
|
+
? (_b = this.recipient) === null || _b === void 0 ? void 0 : _b.username
|
|
104
|
+
: this.name;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Channel description
|
|
108
|
+
*/
|
|
109
|
+
get description() {
|
|
110
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).description;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Channel icon
|
|
114
|
+
*/
|
|
115
|
+
get icon() {
|
|
116
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).icon;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Whether the conversation is active
|
|
120
|
+
*/
|
|
121
|
+
get active() {
|
|
122
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).active;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* User ids of people currently typing in channel
|
|
126
|
+
*/
|
|
127
|
+
get typingIds() {
|
|
128
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).typingIds;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Users currently trying in channel
|
|
132
|
+
*/
|
|
133
|
+
get typing() {
|
|
134
|
+
return [...this.typingIds.values()].map((id) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(id));
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* User ids of recipients of the group
|
|
138
|
+
*/
|
|
139
|
+
get recipientIds() {
|
|
140
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).recipientIds;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Recipients of the group
|
|
144
|
+
*/
|
|
145
|
+
get recipients() {
|
|
146
|
+
return [
|
|
147
|
+
...__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).recipientIds.values(),
|
|
148
|
+
].map((id) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(id));
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Find recipient of this DM
|
|
152
|
+
*/
|
|
153
|
+
get recipient() {
|
|
154
|
+
var _a;
|
|
155
|
+
return this.type === "DirectMessage"
|
|
156
|
+
? (_a = this.recipients) === null || _a === void 0 ? void 0 : _a.find((user) => (user === null || user === void 0 ? void 0 : user.id) !== __classPrivateFieldGet(this, _Channel_collection, "f").client.user.id)
|
|
157
|
+
: undefined;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* User ID
|
|
161
|
+
*/
|
|
162
|
+
get userId() {
|
|
163
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).userId;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* User this channel belongs to
|
|
167
|
+
*/
|
|
168
|
+
get user() {
|
|
169
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).userId);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Owner ID
|
|
173
|
+
*/
|
|
174
|
+
get ownerId() {
|
|
175
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).ownerId;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Owner of the group
|
|
179
|
+
*/
|
|
180
|
+
get owner() {
|
|
181
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).ownerId);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Server ID
|
|
185
|
+
*/
|
|
186
|
+
get serverId() {
|
|
187
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).serverId;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Server this channel is in
|
|
191
|
+
*/
|
|
192
|
+
get server() {
|
|
193
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").client.servers.get(__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).serverId);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Permissions allowed for users in this group
|
|
197
|
+
*/
|
|
198
|
+
get permissions() {
|
|
199
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).permissions;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Default permissions for this server channel
|
|
203
|
+
*/
|
|
204
|
+
get defaultPermissions() {
|
|
205
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).defaultPermissions;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Role permissions for this server channel
|
|
209
|
+
*/
|
|
210
|
+
get rolePermissions() {
|
|
211
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).rolePermissions;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Whether this channel is marked as mature
|
|
215
|
+
*/
|
|
216
|
+
get mature() {
|
|
217
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).nsfw;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* ID of the last message sent in this channel
|
|
221
|
+
*/
|
|
222
|
+
get lastMessageId() {
|
|
223
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).lastMessageId;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Last message sent in this channel
|
|
227
|
+
*/
|
|
228
|
+
get lastMessage() {
|
|
229
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.get(this.lastMessageId);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Time when the last message was sent
|
|
233
|
+
*/
|
|
234
|
+
get lastMessageAt() {
|
|
235
|
+
return this.lastMessageId
|
|
236
|
+
? new Date((0, ulid_1.decodeTime)(this.lastMessageId))
|
|
237
|
+
: undefined;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Time when the channel was last updated (either created or a message was sent)
|
|
241
|
+
*/
|
|
242
|
+
get updatedAt() {
|
|
243
|
+
var _a;
|
|
244
|
+
return (_a = this.lastMessageAt) !== null && _a !== void 0 ? _a : this.createdAt;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Get whether this channel is unread.
|
|
248
|
+
*/
|
|
249
|
+
get unread() {
|
|
250
|
+
var _a, _b;
|
|
251
|
+
if (!this.lastMessageId ||
|
|
252
|
+
this.type === "SavedMessages" ||
|
|
253
|
+
this.type === "VoiceChannel" ||
|
|
254
|
+
__classPrivateFieldGet(this, _Channel_collection, "f").client.options.channelIsMuted(this))
|
|
255
|
+
return false;
|
|
256
|
+
return (((_b = (_a = __classPrivateFieldGet(this, _Channel_collection, "f").client.channelUnreads.get(this.id)) === null || _a === void 0 ? void 0 : _a.lastMessageId) !== null && _b !== void 0 ? _b : "0").localeCompare(this.lastMessageId) === -1);
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get mentions in this channel for user.
|
|
260
|
+
*/
|
|
261
|
+
get mentions() {
|
|
262
|
+
var _a;
|
|
263
|
+
if (this.type === "SavedMessages" || this.type === "VoiceChannel")
|
|
264
|
+
return undefined;
|
|
265
|
+
return (_a = __classPrivateFieldGet(this, _Channel_collection, "f").client.channelUnreads.get(this.id)) === null || _a === void 0 ? void 0 : _a.messageMentionIds;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* URL to the channel icon
|
|
269
|
+
*/
|
|
270
|
+
get iconURL() {
|
|
271
|
+
var _a, _b, _c;
|
|
272
|
+
return ((_b = (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 })) !== null && _b !== void 0 ? _b : (_c = this.recipient) === null || _c === void 0 ? void 0 : _c.avatarURL);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* URL to a small variant of the channel icon
|
|
276
|
+
*/
|
|
277
|
+
get smallIconURL() {
|
|
278
|
+
var _a;
|
|
279
|
+
return (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 64 });
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* URL to the animated channel icon
|
|
283
|
+
*/
|
|
284
|
+
get animatedIconURL() {
|
|
285
|
+
var _a, _b, _c;
|
|
286
|
+
return ((_b = (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 }, true)) !== null && _b !== void 0 ? _b : (_c = this.recipient) === null || _c === void 0 ? void 0 : _c.animatedAvatarURL);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Whether this channel may be hidden to some users
|
|
290
|
+
*/
|
|
291
|
+
get potentiallyRestrictedChannel() {
|
|
292
|
+
var _a, _b, _c, _d;
|
|
293
|
+
if (!this.serverId)
|
|
294
|
+
return false;
|
|
295
|
+
return ((0, calculator_js_1.bitwiseAndEq)((_b = (_a = this.defaultPermissions) === null || _a === void 0 ? void 0 : _a.d) !== null && _b !== void 0 ? _b : 0, definitions_js_1.Permission.ViewChannel) ||
|
|
296
|
+
!(0, calculator_js_1.bitwiseAndEq)(this.server.defaultPermissions, definitions_js_1.Permission.ViewChannel) ||
|
|
297
|
+
[...((_d = (_c = this.server) === null || _c === void 0 ? void 0 : _c.roles.keys()) !== null && _d !== void 0 ? _d : [])].find((role) => {
|
|
298
|
+
var _a, _b, _c, _d, _e, _f;
|
|
299
|
+
return (0, calculator_js_1.bitwiseAndEq)((_c = (_b = (_a = this.rolePermissions) === null || _a === void 0 ? void 0 : _a[role]) === null || _b === void 0 ? void 0 : _b.d) !== null && _c !== void 0 ? _c : 0, definitions_js_1.Permission.ViewChannel) ||
|
|
300
|
+
(0, calculator_js_1.bitwiseAndEq)((_f = (_e = (_d = this.server) === null || _d === void 0 ? void 0 : _d.roles.get(role)) === null || _e === void 0 ? void 0 : _e.permissions.d) !== null && _f !== void 0 ? _f : 0, definitions_js_1.Permission.ViewChannel);
|
|
301
|
+
}));
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Permission the currently authenticated user has against this channel
|
|
305
|
+
*/
|
|
306
|
+
get permission() {
|
|
307
|
+
return (0, calculator_js_1.calculatePermission)(__classPrivateFieldGet(this, _Channel_collection, "f").client, this);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Check whether we have a given permission in a channel
|
|
311
|
+
* @param permission Permission Names
|
|
312
|
+
* @returns Whether we have this permission
|
|
313
|
+
*/
|
|
314
|
+
havePermission(...permission) {
|
|
315
|
+
return (0, calculator_js_1.bitwiseAndEq)(this.permission, ...permission.map((x) => definitions_js_1.Permission[x]));
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Check whether we have at least one of the given permissions in a channel
|
|
319
|
+
* @param permission Permission Names
|
|
320
|
+
* @returns Whether we have one of the permissions
|
|
321
|
+
*/
|
|
322
|
+
orPermission(...permission) {
|
|
323
|
+
return (permission.findIndex((x) => (0, calculator_js_1.bitwiseAndEq)(this.permission, definitions_js_1.Permission[x])) !== -1);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Fetch a channel's members.
|
|
327
|
+
* @requires `Group`
|
|
328
|
+
* @returns An array of the channel's members.
|
|
329
|
+
*/
|
|
330
|
+
fetchMembers() {
|
|
331
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
332
|
+
const members = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/members`);
|
|
333
|
+
return (0, solid_js_1.batch)(() => members.map((user) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.getOrCreate(user._id, user)));
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Fetch a channel's webhooks
|
|
338
|
+
* @requires `TextChannel`, `Group`
|
|
339
|
+
* @returns Webhooks
|
|
340
|
+
*/
|
|
341
|
+
fetchWebhooks() {
|
|
342
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
343
|
+
const webhooks = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/webhooks`);
|
|
344
|
+
return (0, solid_js_1.batch)(() => webhooks.map((webhook) => __classPrivateFieldGet(this, _Channel_collection, "f").client.channelWebhooks.getOrCreate(webhook.id, webhook)));
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Edit a channel
|
|
349
|
+
* @param data Changes
|
|
350
|
+
*/
|
|
351
|
+
edit(data) {
|
|
352
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
353
|
+
yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.patch(`/channels/${this.id}`, data);
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Delete or leave a channel
|
|
358
|
+
* @param leaveSilently Whether to not send a message on leave
|
|
359
|
+
* @requires `DirectMessage`, `Group`, `TextChannel`, `VoiceChannel`
|
|
360
|
+
*/
|
|
361
|
+
delete(leaveSilently) {
|
|
362
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
363
|
+
yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.delete(`/channels/${this.id}`, {
|
|
364
|
+
leave_silently: leaveSilently,
|
|
365
|
+
});
|
|
366
|
+
if (this.type === "DirectMessage") {
|
|
367
|
+
__classPrivateFieldGet(this, _Channel_collection, "f").updateUnderlyingObject(this.id, "active", false);
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
__classPrivateFieldGet(this, _Channel_collection, "f").delete(this.id);
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Add a user to a group
|
|
375
|
+
* @param user_id ID of the target user
|
|
376
|
+
* @requires `Group`
|
|
377
|
+
*/
|
|
378
|
+
addMember(user_id) {
|
|
379
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
380
|
+
return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.put(`/channels/${this.id}/recipients/${user_id}`);
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Remove a user from a group
|
|
385
|
+
* @param user_id ID of the target user
|
|
386
|
+
* @requires `Group`
|
|
387
|
+
*/
|
|
388
|
+
removeMember(user_id) {
|
|
389
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
390
|
+
return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.delete(`/channels/${this.id}/recipients/${user_id}`);
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Send a message
|
|
395
|
+
* @param data Either the message as a string or message sending route data
|
|
396
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
397
|
+
* @returns Sent message
|
|
398
|
+
*/
|
|
399
|
+
sendMessage(data_1) {
|
|
400
|
+
return __awaiter(this, arguments, void 0, function* (data, idempotencyKey = (0, ulid_1.ulid)()) {
|
|
401
|
+
var _a;
|
|
402
|
+
const msg = typeof data === "string" ? { content: data } : data;
|
|
403
|
+
// Mark as silent message
|
|
404
|
+
if ((_a = msg.content) === null || _a === void 0 ? void 0 : _a.startsWith("@silent ")) {
|
|
405
|
+
msg.content = msg.content.substring(8);
|
|
406
|
+
msg.flags || (msg.flags = 1);
|
|
407
|
+
msg.flags |= 1;
|
|
408
|
+
}
|
|
409
|
+
const message = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/messages`, msg, {
|
|
410
|
+
headers: {
|
|
411
|
+
"Idempotency-Key": idempotencyKey,
|
|
412
|
+
},
|
|
413
|
+
});
|
|
414
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message, true);
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Fetch a message by its ID
|
|
419
|
+
* @param messageId ID of the target message
|
|
420
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
421
|
+
* @returns Message
|
|
422
|
+
*/
|
|
423
|
+
fetchMessage(messageId) {
|
|
424
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
425
|
+
const message = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/messages/${messageId}`);
|
|
426
|
+
return __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message);
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Fetch multiple messages from a channel
|
|
431
|
+
* @param params Message fetching route data
|
|
432
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
433
|
+
* @returns Messages
|
|
434
|
+
*/
|
|
435
|
+
fetchMessages(params) {
|
|
436
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
437
|
+
const messages = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/messages`, Object.assign({}, params)));
|
|
438
|
+
return messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message));
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Fetch multiple messages from a channel including the users that sent them
|
|
443
|
+
* @param params Message fetching route data
|
|
444
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
445
|
+
* @returns Object including messages and users
|
|
446
|
+
*/
|
|
447
|
+
fetchMessagesWithUsers(params) {
|
|
448
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
449
|
+
const data = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/messages`, Object.assign(Object.assign({}, params), { include_users: true })));
|
|
450
|
+
return (0, solid_js_1.batch)(() => {
|
|
451
|
+
var _a;
|
|
452
|
+
return ({
|
|
453
|
+
messages: data.messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message)),
|
|
454
|
+
users: data.users.map((user) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.getOrCreate(user._id, user)),
|
|
455
|
+
members: (_a = data.members) === null || _a === void 0 ? void 0 : _a.map((member) => __classPrivateFieldGet(this, _Channel_collection, "f").client.serverMembers.getOrCreate(member._id, member)),
|
|
456
|
+
});
|
|
457
|
+
});
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Search for messages
|
|
462
|
+
* @param params Message searching route data
|
|
463
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
464
|
+
* @returns Messages
|
|
465
|
+
*/
|
|
466
|
+
search(params) {
|
|
467
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
468
|
+
const messages = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/search`, params));
|
|
469
|
+
return (0, solid_js_1.batch)(() => messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message)));
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Search for messages including the users that sent them
|
|
474
|
+
* @param params Message searching route data
|
|
475
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
476
|
+
* @returns Object including messages and users
|
|
477
|
+
*/
|
|
478
|
+
searchWithUsers(params) {
|
|
479
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
480
|
+
const data = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/search`, Object.assign(Object.assign({}, params), { include_users: true })));
|
|
481
|
+
return (0, solid_js_1.batch)(() => {
|
|
482
|
+
var _a;
|
|
483
|
+
return ({
|
|
484
|
+
messages: data.messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message)),
|
|
485
|
+
users: data.users.map((user) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.getOrCreate(user._id, user)),
|
|
486
|
+
members: (_a = data.members) === null || _a === void 0 ? void 0 : _a.map((member) => __classPrivateFieldGet(this, _Channel_collection, "f").client.serverMembers.getOrCreate(member._id, member)),
|
|
487
|
+
});
|
|
488
|
+
});
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* Delete many messages by their IDs
|
|
493
|
+
* @param ids List of message IDs
|
|
494
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
495
|
+
*/
|
|
496
|
+
deleteMessages(ids) {
|
|
497
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
498
|
+
yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.delete(`/channels/${this.id}/messages/bulk`, {
|
|
499
|
+
ids,
|
|
500
|
+
});
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Create an invite to the channel
|
|
505
|
+
* @requires `TextChannel`, `VoiceChannel`
|
|
506
|
+
* @returns Newly created invite code
|
|
507
|
+
*/
|
|
508
|
+
createInvite() {
|
|
509
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
510
|
+
return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/invites`);
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Mark a channel as read
|
|
515
|
+
* @param message Last read message or its ID
|
|
516
|
+
* @param skipRateLimiter Whether to skip the internal rate limiter
|
|
517
|
+
* @param skipRequest For internal updates only
|
|
518
|
+
* @param skipNextMarking For internal usage only
|
|
519
|
+
* @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
|
|
520
|
+
*/
|
|
521
|
+
ack(message, skipRateLimiter, skipRequest, skipNextMarking) {
|
|
522
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
523
|
+
var _a, _b;
|
|
524
|
+
if (!message && __classPrivateFieldGet(this, _Channel_manuallyMarked, "f")) {
|
|
525
|
+
__classPrivateFieldSet(this, _Channel_manuallyMarked, false, "f");
|
|
526
|
+
return;
|
|
527
|
+
}
|
|
528
|
+
// Skip the next unread marking
|
|
529
|
+
else if (skipNextMarking) {
|
|
530
|
+
__classPrivateFieldSet(this, _Channel_manuallyMarked, true, "f");
|
|
531
|
+
}
|
|
532
|
+
const lastMessageId = (_b = (_a = (typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.id)) !== null && _a !== void 0 ? _a : this.lastMessageId) !== null && _b !== void 0 ? _b : (0, ulid_1.ulid)();
|
|
533
|
+
const unreads = __classPrivateFieldGet(this, _Channel_collection, "f").client.channelUnreads;
|
|
534
|
+
const channelUnread = unreads.get(this.id);
|
|
535
|
+
if (channelUnread) {
|
|
536
|
+
unreads.updateUnderlyingObject(this.id, {
|
|
537
|
+
lastMessageId,
|
|
538
|
+
});
|
|
539
|
+
if (channelUnread.messageMentionIds.size) {
|
|
540
|
+
channelUnread.messageMentionIds.clear();
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
// Skip request if not needed
|
|
544
|
+
if (skipRequest)
|
|
545
|
+
return;
|
|
546
|
+
/**
|
|
547
|
+
* Send the actual acknowledgement request
|
|
548
|
+
*/
|
|
549
|
+
const performAck = () => {
|
|
550
|
+
__classPrivateFieldSet(this, _Channel_ackLimit, undefined, "f");
|
|
551
|
+
__classPrivateFieldGet(this, _Channel_collection, "f").client.api.put(`/channels/${this.id}/ack/${lastMessageId}`);
|
|
552
|
+
};
|
|
553
|
+
if (skipRateLimiter)
|
|
554
|
+
return performAck();
|
|
555
|
+
clearTimeout(__classPrivateFieldGet(this, _Channel_ackTimeout, "f"));
|
|
556
|
+
if (__classPrivateFieldGet(this, _Channel_ackLimit, "f") && +new Date() > __classPrivateFieldGet(this, _Channel_ackLimit, "f")) {
|
|
557
|
+
performAck();
|
|
558
|
+
}
|
|
559
|
+
// We need to use setTimeout here for both Node.js and browser.
|
|
560
|
+
__classPrivateFieldSet(this, _Channel_ackTimeout, setTimeout(performAck, 5000), "f");
|
|
561
|
+
if (!__classPrivateFieldGet(this, _Channel_ackLimit, "f")) {
|
|
562
|
+
__classPrivateFieldSet(this, _Channel_ackLimit, +new Date() + 15e3, "f");
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Set role permissions
|
|
568
|
+
* @param role_id Role Id, set to 'default' to affect all users
|
|
569
|
+
* @param permissions Permission value
|
|
570
|
+
* @requires `Group`, `TextChannel`, `VoiceChannel`
|
|
571
|
+
*/
|
|
572
|
+
setPermissions() {
|
|
573
|
+
return __awaiter(this, arguments, void 0, function* (role_id = "default", permissions) {
|
|
574
|
+
return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.put(`/channels/${this.id}/permissions/${role_id}`, { permissions });
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Start typing in this channel
|
|
579
|
+
* @requires `DirectMessage`, `Group`, `TextChannel`
|
|
580
|
+
*/
|
|
581
|
+
startTyping() {
|
|
582
|
+
__classPrivateFieldGet(this, _Channel_collection, "f").client.events.send({
|
|
583
|
+
type: "BeginTyping",
|
|
584
|
+
channel: this.id,
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Stop typing in this channel
|
|
589
|
+
* @requires `DirectMessage`, `Group`, `TextChannel`
|
|
590
|
+
*/
|
|
591
|
+
stopTyping() {
|
|
592
|
+
__classPrivateFieldGet(this, _Channel_collection, "f").client.events.send({
|
|
593
|
+
type: "EndTyping",
|
|
594
|
+
channel: this.id,
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
exports.Channel = Channel;
|
|
599
|
+
_Channel_collection = new WeakMap(), _Channel_ackTimeout = new WeakMap(), _Channel_ackLimit = new WeakMap(), _Channel_manuallyMarked = new WeakMap();
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChannelUnreadCollection } from "../collections/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Channel Unread Class
|
|
4
|
+
*/
|
|
5
|
+
export declare class ChannelUnread {
|
|
6
|
+
#private;
|
|
7
|
+
readonly id: string;
|
|
8
|
+
/**
|
|
9
|
+
* Construct Channel
|
|
10
|
+
* @param collection Collection
|
|
11
|
+
* @param id Channel Id
|
|
12
|
+
*/
|
|
13
|
+
constructor(collection: ChannelUnreadCollection, id: string);
|
|
14
|
+
/**
|
|
15
|
+
* Whether this object exists
|
|
16
|
+
*/
|
|
17
|
+
get $exists(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Last read message id
|
|
20
|
+
*/
|
|
21
|
+
get lastMessageId(): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* List of message IDs that we were mentioned in
|
|
24
|
+
*/
|
|
25
|
+
get messageMentionIds(): import("@solid-primitives/set").ReactiveSet<string>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ChannelUnread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelUnread.d.ts","sourceRoot":"","sources":["../../../src/classes/ChannelUnread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;GAEG;AACH,qBAAa,aAAa;;IAExB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;gBACS,UAAU,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM;IAK3D;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,aAAa,uBAEhB;IAED;;OAEG;IACH,IAAI,iBAAiB,wDAEpB;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _ChannelUnread_collection;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ChannelUnread = void 0;
|
|
16
|
+
/**
|
|
17
|
+
* Channel Unread Class
|
|
18
|
+
*/
|
|
19
|
+
class ChannelUnread {
|
|
20
|
+
/**
|
|
21
|
+
* Construct Channel
|
|
22
|
+
* @param collection Collection
|
|
23
|
+
* @param id Channel Id
|
|
24
|
+
*/
|
|
25
|
+
constructor(collection, id) {
|
|
26
|
+
_ChannelUnread_collection.set(this, void 0);
|
|
27
|
+
__classPrivateFieldSet(this, _ChannelUnread_collection, collection, "f");
|
|
28
|
+
this.id = id;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Whether this object exists
|
|
32
|
+
*/
|
|
33
|
+
get $exists() {
|
|
34
|
+
return !!__classPrivateFieldGet(this, _ChannelUnread_collection, "f").getUnderlyingObject(this.id).id;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Last read message id
|
|
38
|
+
*/
|
|
39
|
+
get lastMessageId() {
|
|
40
|
+
return __classPrivateFieldGet(this, _ChannelUnread_collection, "f").getUnderlyingObject(this.id).lastMessageId;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* List of message IDs that we were mentioned in
|
|
44
|
+
*/
|
|
45
|
+
get messageMentionIds() {
|
|
46
|
+
return __classPrivateFieldGet(this, _ChannelUnread_collection, "f").getUnderlyingObject(this.id).messageMentionIds;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ChannelUnread = ChannelUnread;
|
|
50
|
+
_ChannelUnread_collection = new WeakMap();
|