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,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.calculatePermission = exports.bitwiseAndEq = void 0;
|
|
7
|
+
const index_1 = require("../index");
|
|
8
|
+
const definitions_1 = require("./definitions");
|
|
9
|
+
const long_1 = __importDefault(require("long"));
|
|
10
|
+
/**
|
|
11
|
+
* Check whether `b` is present in `a`
|
|
12
|
+
* @param a Input A
|
|
13
|
+
* @param b Inputs (OR'd together)
|
|
14
|
+
*/
|
|
15
|
+
function bitwiseAndEq(a, ...b) {
|
|
16
|
+
const value = b.reduce((prev, cur) => prev.or(cur), long_1.default.fromNumber(0));
|
|
17
|
+
return value.and(a).eq(value);
|
|
18
|
+
}
|
|
19
|
+
exports.bitwiseAndEq = bitwiseAndEq;
|
|
20
|
+
/**
|
|
21
|
+
* Calculate permissions against a given object
|
|
22
|
+
* @param target Target object to check permissions against
|
|
23
|
+
* @param options Additional options to use when calculating
|
|
24
|
+
*/
|
|
25
|
+
function calculatePermission(client, target, options) {
|
|
26
|
+
var _a, _b, _c, _d, _e, _f;
|
|
27
|
+
const user = (options === null || options === void 0 ? void 0 : options.member) ? options === null || options === void 0 ? void 0 : options.member.user : client.user;
|
|
28
|
+
if (user === null || user === void 0 ? void 0 : user.privileged) {
|
|
29
|
+
return definitions_1.Permission.GrantAllSafe;
|
|
30
|
+
}
|
|
31
|
+
if (target instanceof index_1.Server) {
|
|
32
|
+
// 1. Check if owner.
|
|
33
|
+
if (target.ownerId === (user === null || user === void 0 ? void 0 : user.id)) {
|
|
34
|
+
return definitions_1.Permission.GrantAllSafe;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// 2. Get ServerMember.
|
|
38
|
+
const member = (_b = (_a = options === null || options === void 0 ? void 0 : options.member) !== null && _a !== void 0 ? _a : client.serverMembers.getByKey({
|
|
39
|
+
user: user.id,
|
|
40
|
+
server: target.id,
|
|
41
|
+
})) !== null && _b !== void 0 ? _b : { roles: null, timeout: null };
|
|
42
|
+
if (!member)
|
|
43
|
+
return 0;
|
|
44
|
+
// 3. Apply allows from default_permissions.
|
|
45
|
+
let perm = long_1.default.fromNumber(target.defaultPermissions);
|
|
46
|
+
// 4. If user has roles, iterate in order.
|
|
47
|
+
if (member.roles && target.roles) {
|
|
48
|
+
// 5. Apply allows and denies from roles.
|
|
49
|
+
const permissions = member.orderedRoles.map((role) => { var _a; return (_a = role.permissions) !== null && _a !== void 0 ? _a : { a: 0, d: 0 }; });
|
|
50
|
+
for (const permission of permissions) {
|
|
51
|
+
perm = perm.or(permission.a).and(long_1.default.fromNumber(permission.d).not());
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// 5. Revoke permissions if ServerMember is timed out.
|
|
55
|
+
if (member.timeout && member.timeout > new Date()) {
|
|
56
|
+
perm = perm.and(definitions_1.ALLOW_IN_TIMEOUT);
|
|
57
|
+
}
|
|
58
|
+
return perm.toNumber();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// 1. Check channel type.
|
|
63
|
+
switch (target.type) {
|
|
64
|
+
case "SavedMessages":
|
|
65
|
+
return definitions_1.Permission.GrantAllSafe;
|
|
66
|
+
case "DirectMessage": {
|
|
67
|
+
// 2. Determine user permissions.
|
|
68
|
+
const user_permissions = ((_c = target.recipient) === null || _c === void 0 ? void 0 : _c.permission) || 0;
|
|
69
|
+
// 3. Check if the user can send messages.
|
|
70
|
+
if (user_permissions & definitions_1.UserPermission.SendMessage) {
|
|
71
|
+
return definitions_1.DEFAULT_PERMISSION_DIRECT_MESSAGE;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return definitions_1.DEFAULT_PERMISSION_VIEW_ONLY;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
case "Group": {
|
|
78
|
+
// 2. Check if user is owner.
|
|
79
|
+
if (target.ownerId === user.id) {
|
|
80
|
+
return definitions_1.Permission.GrantAllSafe;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// 3. Pull out group permissions.
|
|
84
|
+
return (_d = target.permissions) !== null && _d !== void 0 ? _d : definitions_1.DEFAULT_PERMISSION_DIRECT_MESSAGE;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
case "TextChannel":
|
|
88
|
+
case "VoiceChannel": {
|
|
89
|
+
// 2. Get server.
|
|
90
|
+
const server = target.server;
|
|
91
|
+
if (typeof server === "undefined")
|
|
92
|
+
return 0;
|
|
93
|
+
// 3. If server owner, just grant all permissions.
|
|
94
|
+
if (server.ownerId === (user === null || user === void 0 ? void 0 : user.id)) {
|
|
95
|
+
return definitions_1.Permission.GrantAllSafe;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// 4. Get ServerMember.
|
|
99
|
+
const member = (_f = (_e = options === null || options === void 0 ? void 0 : options.member) !== null && _e !== void 0 ? _e : client.serverMembers.getByKey({
|
|
100
|
+
user: user.id,
|
|
101
|
+
server: server.id,
|
|
102
|
+
})) !== null && _f !== void 0 ? _f : { roles: null, timeout: null };
|
|
103
|
+
if (!member)
|
|
104
|
+
return 0;
|
|
105
|
+
// 5. Calculate server base permissions.
|
|
106
|
+
let perm = long_1.default.fromNumber(calculatePermission(client, server, options));
|
|
107
|
+
// 6. Apply default allows and denies for channel.
|
|
108
|
+
if (target.defaultPermissions) {
|
|
109
|
+
perm = perm
|
|
110
|
+
.or(target.defaultPermissions.a)
|
|
111
|
+
.and(long_1.default.fromNumber(target.defaultPermissions.d).not());
|
|
112
|
+
}
|
|
113
|
+
// 7. If user has roles, iterate in order.
|
|
114
|
+
if (member.roles && target.rolePermissions && server.roles) {
|
|
115
|
+
// 5. Apply allows and denies from roles.
|
|
116
|
+
const roles = member.orderedRoles.map(({ id }) => id);
|
|
117
|
+
for (const id of roles) {
|
|
118
|
+
const override = target.rolePermissions[id];
|
|
119
|
+
if (override) {
|
|
120
|
+
perm = perm
|
|
121
|
+
.or(override.a)
|
|
122
|
+
.and(long_1.default.fromNumber(override.d).not());
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// 8. Revoke permissions if ServerMember is timed out.
|
|
127
|
+
if (member.timeout && member.timeout > new Date()) {
|
|
128
|
+
perm = perm.and(definitions_1.ALLOW_IN_TIMEOUT);
|
|
129
|
+
}
|
|
130
|
+
return perm.toNumber();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.calculatePermission = calculatePermission;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission against User
|
|
3
|
+
*/
|
|
4
|
+
export declare const UserPermission: {
|
|
5
|
+
Access: number;
|
|
6
|
+
ViewProfile: number;
|
|
7
|
+
SendMessage: number;
|
|
8
|
+
Invite: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Permission against Server / Channel
|
|
12
|
+
*/
|
|
13
|
+
export declare const Permission: {
|
|
14
|
+
ManageChannel: number;
|
|
15
|
+
ManageServer: number;
|
|
16
|
+
ManagePermissions: number;
|
|
17
|
+
ManageRole: number;
|
|
18
|
+
ManageCustomisation: number;
|
|
19
|
+
KickMembers: number;
|
|
20
|
+
BanMembers: number;
|
|
21
|
+
TimeoutMembers: number;
|
|
22
|
+
AssignRoles: number;
|
|
23
|
+
ChangeNickname: number;
|
|
24
|
+
ManageNicknames: number;
|
|
25
|
+
ChangeAvatar: number;
|
|
26
|
+
RemoveAvatars: number;
|
|
27
|
+
ViewChannel: number;
|
|
28
|
+
ReadMessageHistory: number;
|
|
29
|
+
SendMessage: number;
|
|
30
|
+
ManageMessages: number;
|
|
31
|
+
ManageWebhooks: number;
|
|
32
|
+
InviteOthers: number;
|
|
33
|
+
SendEmbeds: number;
|
|
34
|
+
UploadFiles: number;
|
|
35
|
+
Masquerade: number;
|
|
36
|
+
React: number;
|
|
37
|
+
Connect: number;
|
|
38
|
+
Speak: number;
|
|
39
|
+
Video: number;
|
|
40
|
+
MuteMembers: number;
|
|
41
|
+
DeafenMembers: number;
|
|
42
|
+
MoveMembers: number;
|
|
43
|
+
GrantAllSafe: number;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Maximum safe value
|
|
47
|
+
*/
|
|
48
|
+
export declare const U32_MAX: number;
|
|
49
|
+
/**
|
|
50
|
+
* Permissions allowed for a user while in timeout
|
|
51
|
+
*/
|
|
52
|
+
export declare const ALLOW_IN_TIMEOUT: number;
|
|
53
|
+
/**
|
|
54
|
+
* Default permissions if we can only view
|
|
55
|
+
*/
|
|
56
|
+
export declare const DEFAULT_PERMISSION_VIEW_ONLY: number;
|
|
57
|
+
/**
|
|
58
|
+
* Default base permissions for channels
|
|
59
|
+
*/
|
|
60
|
+
export declare const DEFAULT_PERMISSION: number;
|
|
61
|
+
/**
|
|
62
|
+
* Permissions in saved messages channel
|
|
63
|
+
*/
|
|
64
|
+
export declare const DEFAULT_PERMISSION_SAVED_MESSAGES: number;
|
|
65
|
+
/**
|
|
66
|
+
* Permissions in direct message channels / default permissions for group DMs
|
|
67
|
+
*/
|
|
68
|
+
export declare const DEFAULT_PERMISSION_DIRECT_MESSAGE: number;
|
|
69
|
+
/**
|
|
70
|
+
* Permissions in server text / voice channel
|
|
71
|
+
*/
|
|
72
|
+
export declare const DEFAULT_PERMISSION_SERVER: number;
|
|
73
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/permissions/definitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAK1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,QAAc,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAC2B,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QACe,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAOb,CAAC;AAEnB;;GAEG;AACH,eAAO,MAAM,iCAAiC,QAA0B,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,iCAAiC,QACoB,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAIb,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_PERMISSION_SERVER = exports.DEFAULT_PERMISSION_DIRECT_MESSAGE = exports.DEFAULT_PERMISSION_SAVED_MESSAGES = exports.DEFAULT_PERMISSION = exports.DEFAULT_PERMISSION_VIEW_ONLY = exports.ALLOW_IN_TIMEOUT = exports.U32_MAX = exports.Permission = exports.UserPermission = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Permission against User
|
|
6
|
+
*/
|
|
7
|
+
exports.UserPermission = {
|
|
8
|
+
Access: 1 << 0,
|
|
9
|
+
ViewProfile: 1 << 1,
|
|
10
|
+
SendMessage: 1 << 2,
|
|
11
|
+
Invite: 1 << 3,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Permission against Server / Channel
|
|
15
|
+
*/
|
|
16
|
+
exports.Permission = {
|
|
17
|
+
// * Generic permissions
|
|
18
|
+
/// Manage the channel or channels on the server
|
|
19
|
+
ManageChannel: 2 ** 0,
|
|
20
|
+
/// Manage the server
|
|
21
|
+
ManageServer: 2 ** 1,
|
|
22
|
+
/// Manage permissions on servers or channels
|
|
23
|
+
ManagePermissions: 2 ** 2,
|
|
24
|
+
/// Manage roles on server
|
|
25
|
+
ManageRole: 2 ** 3,
|
|
26
|
+
/// Manage server customisation (includes emoji)
|
|
27
|
+
ManageCustomisation: 2 ** 4,
|
|
28
|
+
// % 1 bits reserved
|
|
29
|
+
// * Member permissions
|
|
30
|
+
/// Kick other members below their ranking
|
|
31
|
+
KickMembers: 2 ** 6,
|
|
32
|
+
/// Ban other members below their ranking
|
|
33
|
+
BanMembers: 2 ** 7,
|
|
34
|
+
/// Timeout other members below their ranking
|
|
35
|
+
TimeoutMembers: 2 ** 8,
|
|
36
|
+
/// Assign roles to members below their ranking
|
|
37
|
+
AssignRoles: 2 ** 9,
|
|
38
|
+
/// Change own nickname
|
|
39
|
+
ChangeNickname: 2 ** 10,
|
|
40
|
+
/// Change or remove other's nicknames below their ranking
|
|
41
|
+
ManageNicknames: 2 ** 11,
|
|
42
|
+
/// Change own avatar
|
|
43
|
+
ChangeAvatar: 2 ** 12,
|
|
44
|
+
/// Remove other's avatars below their ranking
|
|
45
|
+
RemoveAvatars: 2 ** 13,
|
|
46
|
+
// % 7 bits reserved
|
|
47
|
+
// * Channel permissions
|
|
48
|
+
/// View a channel
|
|
49
|
+
ViewChannel: 2 ** 20,
|
|
50
|
+
/// Read a channel's past message history
|
|
51
|
+
ReadMessageHistory: 2 ** 21,
|
|
52
|
+
/// Send a message in a channel
|
|
53
|
+
SendMessage: 2 ** 22,
|
|
54
|
+
/// Delete messages in a channel
|
|
55
|
+
ManageMessages: 2 ** 23,
|
|
56
|
+
/// Manage webhook entries on a channel
|
|
57
|
+
ManageWebhooks: 2 ** 24,
|
|
58
|
+
/// Create invites to this channel
|
|
59
|
+
InviteOthers: 2 ** 25,
|
|
60
|
+
/// Send embedded content in this channel
|
|
61
|
+
SendEmbeds: 2 ** 26,
|
|
62
|
+
/// Send attachments and media in this channel
|
|
63
|
+
UploadFiles: 2 ** 27,
|
|
64
|
+
/// Masquerade messages using custom nickname and avatar
|
|
65
|
+
Masquerade: 2 ** 28,
|
|
66
|
+
/// React to messages with emoji
|
|
67
|
+
React: 2 ** 29,
|
|
68
|
+
// * Voice permissions
|
|
69
|
+
/// Connect to a voice channel
|
|
70
|
+
Connect: 2 ** 30,
|
|
71
|
+
/// Speak in a voice call
|
|
72
|
+
Speak: 2 ** 31,
|
|
73
|
+
/// Share video in a voice call
|
|
74
|
+
Video: 2 ** 32,
|
|
75
|
+
/// Mute other members with lower ranking in a voice call
|
|
76
|
+
MuteMembers: 2 ** 33,
|
|
77
|
+
/// Deafen other members with lower ranking in a voice call
|
|
78
|
+
DeafenMembers: 2 ** 34,
|
|
79
|
+
/// Move members between voice channels
|
|
80
|
+
MoveMembers: 2 ** 35,
|
|
81
|
+
// * Misc. permissions
|
|
82
|
+
// % Bits 36 to 52: free area
|
|
83
|
+
// % Bits 53 to 64: do not use
|
|
84
|
+
// * Grant all permissions
|
|
85
|
+
/// Safely grant all permissions
|
|
86
|
+
GrantAllSafe: 4503599627370495,
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Maximum safe value
|
|
90
|
+
*/
|
|
91
|
+
exports.U32_MAX = 2 ** 32 - 1; // 4294967295
|
|
92
|
+
/**
|
|
93
|
+
* Permissions allowed for a user while in timeout
|
|
94
|
+
*/
|
|
95
|
+
exports.ALLOW_IN_TIMEOUT = exports.Permission.ViewChannel + exports.Permission.ReadMessageHistory;
|
|
96
|
+
/**
|
|
97
|
+
* Default permissions if we can only view
|
|
98
|
+
*/
|
|
99
|
+
exports.DEFAULT_PERMISSION_VIEW_ONLY = exports.Permission.ViewChannel + exports.Permission.ReadMessageHistory;
|
|
100
|
+
/**
|
|
101
|
+
* Default base permissions for channels
|
|
102
|
+
*/
|
|
103
|
+
exports.DEFAULT_PERMISSION = exports.DEFAULT_PERMISSION_VIEW_ONLY +
|
|
104
|
+
exports.Permission.SendMessage +
|
|
105
|
+
exports.Permission.InviteOthers +
|
|
106
|
+
exports.Permission.SendEmbeds +
|
|
107
|
+
exports.Permission.UploadFiles +
|
|
108
|
+
exports.Permission.Connect +
|
|
109
|
+
exports.Permission.Speak;
|
|
110
|
+
/**
|
|
111
|
+
* Permissions in saved messages channel
|
|
112
|
+
*/
|
|
113
|
+
exports.DEFAULT_PERMISSION_SAVED_MESSAGES = exports.Permission.GrantAllSafe;
|
|
114
|
+
/**
|
|
115
|
+
* Permissions in direct message channels / default permissions for group DMs
|
|
116
|
+
*/
|
|
117
|
+
exports.DEFAULT_PERMISSION_DIRECT_MESSAGE = exports.DEFAULT_PERMISSION + exports.Permission.React + exports.Permission.ManageChannel;
|
|
118
|
+
/**
|
|
119
|
+
* Permissions in server text / voice channel
|
|
120
|
+
*/
|
|
121
|
+
exports.DEFAULT_PERMISSION_SERVER = exports.DEFAULT_PERMISSION +
|
|
122
|
+
exports.Permission.React +
|
|
123
|
+
exports.Permission.ChangeNickname +
|
|
124
|
+
exports.Permission.ChangeAvatar;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Hydrators } from "../hydration";
|
|
2
|
+
import { SetStoreFunction } from "solid-js/store";
|
|
3
|
+
/**
|
|
4
|
+
* Wrapper around Solid.js store
|
|
5
|
+
*/
|
|
6
|
+
export declare class ObjectStorage<T> {
|
|
7
|
+
private store;
|
|
8
|
+
readonly set: SetStoreFunction<Record<string, T>>;
|
|
9
|
+
/**
|
|
10
|
+
* Create new object storage
|
|
11
|
+
*/
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Get object by ID
|
|
15
|
+
* @param id ID
|
|
16
|
+
* @returns Object
|
|
17
|
+
*/
|
|
18
|
+
get(id: string): T;
|
|
19
|
+
/**
|
|
20
|
+
* Hydrate some data into storage
|
|
21
|
+
* @param id ID
|
|
22
|
+
* @param type Hydration type
|
|
23
|
+
* @param context Context
|
|
24
|
+
* @param data Input Data
|
|
25
|
+
*/
|
|
26
|
+
hydrate(id: string, type: keyof Hydrators, context: unknown, data?: unknown): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ObjectStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/ObjectStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAC;AAE/D;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAoB;IACjC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;;IAQH;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM;IAId;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO;CAM5E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectStorage = void 0;
|
|
4
|
+
const hydration_1 = require("../hydration");
|
|
5
|
+
const store_1 = require("solid-js/store");
|
|
6
|
+
/**
|
|
7
|
+
* Wrapper around Solid.js store
|
|
8
|
+
*/
|
|
9
|
+
class ObjectStorage {
|
|
10
|
+
/**
|
|
11
|
+
* Create new object storage
|
|
12
|
+
*/
|
|
13
|
+
constructor() {
|
|
14
|
+
const [store, setStore] = (0, store_1.createStore)({});
|
|
15
|
+
this.store = store;
|
|
16
|
+
this.set = setStore;
|
|
17
|
+
this.get = this.get.bind(this);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get object by ID
|
|
21
|
+
* @param id ID
|
|
22
|
+
* @returns Object
|
|
23
|
+
*/
|
|
24
|
+
get(id) {
|
|
25
|
+
return this.store[id];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Hydrate some data into storage
|
|
29
|
+
* @param id ID
|
|
30
|
+
* @param type Hydration type
|
|
31
|
+
* @param context Context
|
|
32
|
+
* @param data Input Data
|
|
33
|
+
*/
|
|
34
|
+
hydrate(id, type, context, data) {
|
|
35
|
+
if (data) {
|
|
36
|
+
data = Object.assign({ partial: false }, data);
|
|
37
|
+
this.set(id, (0, hydration_1.hydrate)(type, data, context, true));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ObjectStorage = ObjectStorage;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { DataLogin, HischoolConfig } from "./api";
|
|
2
|
+
import { API, Role } from "./api";
|
|
3
|
+
import { Channel, Emoji, Message, Server, ServerMember, User } from "./classes/index.js";
|
|
4
|
+
import { AccountCollection } from "./collections/AccountCollection.js";
|
|
5
|
+
import { BotCollection, ChannelCollection, ChannelUnreadCollection, ChannelWebhookCollection, EmojiCollection, MessageCollection, ServerCollection, ServerMemberCollection, SessionCollection, UserCollection } from "./collections/index.js";
|
|
6
|
+
import { EventClient, EventClientOptions } from "./events/index.js";
|
|
7
|
+
import { HydratedChannel, HydratedEmoji, HydratedMessage, HydratedServer, HydratedServerMember, HydratedUser } from "./hydration/index.js";
|
|
8
|
+
import EventEmitter from "eventemitter3";
|
|
9
|
+
import { Accessor } from "solid-js";
|
|
10
|
+
export type Session = {
|
|
11
|
+
_id: string;
|
|
12
|
+
token: string;
|
|
13
|
+
user_id: string;
|
|
14
|
+
} | string;
|
|
15
|
+
/**
|
|
16
|
+
* Events provided by the client
|
|
17
|
+
*/
|
|
18
|
+
export type Events = {
|
|
19
|
+
error(error: Error): void;
|
|
20
|
+
connected(): void;
|
|
21
|
+
connecting(): void;
|
|
22
|
+
disconnected(): void;
|
|
23
|
+
ready(): void;
|
|
24
|
+
logout(): void;
|
|
25
|
+
messageCreate(message: Message): void;
|
|
26
|
+
messageUpdate(message: Message, previousMessage: HydratedMessage): void;
|
|
27
|
+
messageDelete(message: HydratedMessage): void;
|
|
28
|
+
messageDeleteBulk(messages: HydratedMessage[], channel?: Channel): void;
|
|
29
|
+
messageReactionAdd(message: Message, userId: string, emoji: string): void;
|
|
30
|
+
messageReactionRemove(message: Message, userId: string, emoji: string): void;
|
|
31
|
+
messageReactionRemoveEmoji(message: Message, emoji: string): void;
|
|
32
|
+
channelCreate(channel: Channel): void;
|
|
33
|
+
channelUpdate(channel: Channel, previousChannel: HydratedChannel): void;
|
|
34
|
+
channelDelete(channel: HydratedChannel): void;
|
|
35
|
+
channelGroupJoin(channel: Channel, user: User): void;
|
|
36
|
+
channelGroupLeave(channel: Channel, user?: User): void;
|
|
37
|
+
channelStartTyping(channel: Channel, user?: User): void;
|
|
38
|
+
channelStopTyping(channel: Channel, user?: User): void;
|
|
39
|
+
channelAcknowledged(channel: Channel, messageId: string): void;
|
|
40
|
+
serverCreate(server: Server): void;
|
|
41
|
+
serverUpdate(server: Server, previousServer: HydratedServer): void;
|
|
42
|
+
serverDelete(server: HydratedServer): void;
|
|
43
|
+
serverLeave(server: HydratedServer): void;
|
|
44
|
+
serverRoleUpdate(server: Server, roleId: string, previousRole: Role): void;
|
|
45
|
+
serverRoleDelete(server: Server, roleId: string, role: Role): void;
|
|
46
|
+
serverMemberUpdate(member: ServerMember, previousMember: HydratedServerMember): void;
|
|
47
|
+
serverMemberJoin(member: ServerMember): void;
|
|
48
|
+
serverMemberLeave(member: HydratedServerMember): void;
|
|
49
|
+
userUpdate(user: User, previousUser: HydratedUser): void;
|
|
50
|
+
userSettingsUpdate(id: string, update: Record<string, [number, string]>): void;
|
|
51
|
+
emojiCreate(emoji: Emoji): void;
|
|
52
|
+
emojiDelete(emoji: HydratedEmoji): void;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Client options object
|
|
56
|
+
*/
|
|
57
|
+
export type ClientOptions = Partial<EventClientOptions> & {
|
|
58
|
+
/**
|
|
59
|
+
* Base URL of the API server
|
|
60
|
+
*/
|
|
61
|
+
baseURL: string;
|
|
62
|
+
/**
|
|
63
|
+
* Whether to allow partial objects to emit from events
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
partials: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Whether to eagerly fetch users and members for incoming events
|
|
69
|
+
* @default true
|
|
70
|
+
* @deprecated
|
|
71
|
+
*/
|
|
72
|
+
eagerFetching: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Whether to automatically sync unreads information
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
syncUnreads: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Whether to reconnect when disconnected
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
autoReconnect: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Whether to rewrite sent messages that include identifiers such as @silent
|
|
85
|
+
* @default true
|
|
86
|
+
*/
|
|
87
|
+
messageRewrites: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Retry delay function
|
|
90
|
+
* @param retryCount Count
|
|
91
|
+
* @returns Delay in seconds
|
|
92
|
+
* @default (2^x-1) ±20%
|
|
93
|
+
*/
|
|
94
|
+
retryDelayFunction(retryCount: number): number;
|
|
95
|
+
/**
|
|
96
|
+
* Check whether a channel is muted
|
|
97
|
+
* @param channel Channel
|
|
98
|
+
* @return Whether it is muted
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
channelIsMuted(channel: Channel): boolean;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Hischool.js Clients
|
|
105
|
+
*/
|
|
106
|
+
export declare class Client extends EventEmitter<Events> {
|
|
107
|
+
#private;
|
|
108
|
+
readonly account: AccountCollection;
|
|
109
|
+
readonly bots: BotCollection;
|
|
110
|
+
readonly channels: ChannelCollection;
|
|
111
|
+
readonly channelUnreads: ChannelUnreadCollection;
|
|
112
|
+
readonly channelWebhooks: ChannelWebhookCollection;
|
|
113
|
+
readonly emojis: EmojiCollection;
|
|
114
|
+
readonly messages: MessageCollection;
|
|
115
|
+
readonly servers: ServerCollection;
|
|
116
|
+
readonly serverMembers: ServerMemberCollection;
|
|
117
|
+
readonly sessions: SessionCollection;
|
|
118
|
+
readonly users: UserCollection;
|
|
119
|
+
readonly api: API;
|
|
120
|
+
readonly options: ClientOptions;
|
|
121
|
+
readonly events: EventClient<1>;
|
|
122
|
+
configuration: HischoolConfig | undefined;
|
|
123
|
+
user: User | undefined;
|
|
124
|
+
readonly ready: Accessor<boolean>;
|
|
125
|
+
readonly connectionFailureCount: Accessor<number>;
|
|
126
|
+
/**
|
|
127
|
+
* Create Hischool.js Client
|
|
128
|
+
*/
|
|
129
|
+
constructor(options?: Partial<ClientOptions>, configuration?: HischoolConfig);
|
|
130
|
+
/**
|
|
131
|
+
* Current session id
|
|
132
|
+
*/
|
|
133
|
+
get sessionId(): string | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* Connect to Hischool
|
|
136
|
+
*/
|
|
137
|
+
connect(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Log in with auth data, creating a new session in the process.
|
|
140
|
+
* @param details Login data object
|
|
141
|
+
* @returns An on-boarding function if on-boarding is required, undefined otherwise
|
|
142
|
+
*/
|
|
143
|
+
login(details: DataLogin): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Use an existing session
|
|
146
|
+
*/
|
|
147
|
+
useExistingSession(session: Session): Promise<void>;
|
|
148
|
+
/**
|
|
149
|
+
* Log in as a bot
|
|
150
|
+
* @param token Bot token
|
|
151
|
+
*/
|
|
152
|
+
loginBot(token: string): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Prepare a markdown-based message to be displayed to the user as plain text.
|
|
155
|
+
* @param source Source markdown text
|
|
156
|
+
* @returns Modified plain text
|
|
157
|
+
*/
|
|
158
|
+
markdownToText(source: string): string;
|
|
159
|
+
/**
|
|
160
|
+
* Proxy a file through January.
|
|
161
|
+
* @param url URL to proxy
|
|
162
|
+
* @returns Proxied media URL
|
|
163
|
+
*/
|
|
164
|
+
proxyFile(url: string): string | undefined;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
|