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,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Message
|
|
3
|
+
*/
|
|
4
|
+
export class SystemMessage {
|
|
5
|
+
client;
|
|
6
|
+
type;
|
|
7
|
+
/**
|
|
8
|
+
* Construct System Message
|
|
9
|
+
* @param client Client
|
|
10
|
+
* @param type Type
|
|
11
|
+
*/
|
|
12
|
+
constructor(client, type) {
|
|
13
|
+
this.client = client;
|
|
14
|
+
this.type = type;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create an System Message from an API System Message
|
|
18
|
+
* @param client Client
|
|
19
|
+
* @param embed Data
|
|
20
|
+
* @returns System Message
|
|
21
|
+
*/
|
|
22
|
+
static from(client, message) {
|
|
23
|
+
switch (message.type) {
|
|
24
|
+
case "text":
|
|
25
|
+
return new TextSystemMessage(client, message);
|
|
26
|
+
case "user_added":
|
|
27
|
+
case "user_remove":
|
|
28
|
+
return new UserModeratedSystemMessage(client, message);
|
|
29
|
+
case "user_joined":
|
|
30
|
+
case "user_left":
|
|
31
|
+
case "user_kicked":
|
|
32
|
+
case "user_banned":
|
|
33
|
+
return new UserSystemMessage(client, message);
|
|
34
|
+
case "channel_renamed":
|
|
35
|
+
return new ChannelRenamedSystemMessage(client, message);
|
|
36
|
+
case "channel_description_changed":
|
|
37
|
+
case "channel_icon_changed":
|
|
38
|
+
return new ChannelEditSystemMessage(client, message);
|
|
39
|
+
case "channel_ownership_changed":
|
|
40
|
+
return new ChannelOwnershipChangeSystemMessage(client, message);
|
|
41
|
+
default:
|
|
42
|
+
return new TextSystemMessage(client, {
|
|
43
|
+
type: "text",
|
|
44
|
+
content: `${message.type} is not supported.`,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Text System Message
|
|
51
|
+
*/
|
|
52
|
+
export class TextSystemMessage extends SystemMessage {
|
|
53
|
+
content;
|
|
54
|
+
/**
|
|
55
|
+
* Construct System Message
|
|
56
|
+
* @param client Client
|
|
57
|
+
* @param systemMessage System Message
|
|
58
|
+
*/
|
|
59
|
+
constructor(client, systemMessage) {
|
|
60
|
+
super(client, systemMessage.type);
|
|
61
|
+
this.content = systemMessage.content;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* User System Message
|
|
66
|
+
*/
|
|
67
|
+
export class UserSystemMessage extends SystemMessage {
|
|
68
|
+
userId;
|
|
69
|
+
/**
|
|
70
|
+
* Construct System Message
|
|
71
|
+
* @param client Client
|
|
72
|
+
* @param systemMessage System Message
|
|
73
|
+
*/
|
|
74
|
+
constructor(client, systemMessage) {
|
|
75
|
+
super(client, systemMessage.type);
|
|
76
|
+
this.userId = systemMessage.id;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* User this message concerns
|
|
80
|
+
*/
|
|
81
|
+
get user() {
|
|
82
|
+
return this.client.users.get(this.userId);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* User Moderated System Message
|
|
87
|
+
*/
|
|
88
|
+
export class UserModeratedSystemMessage extends UserSystemMessage {
|
|
89
|
+
byId;
|
|
90
|
+
/**
|
|
91
|
+
* Construct System Message
|
|
92
|
+
* @param client Client
|
|
93
|
+
* @param systemMessage System Message
|
|
94
|
+
*/
|
|
95
|
+
constructor(client, systemMessage) {
|
|
96
|
+
super(client, systemMessage);
|
|
97
|
+
this.byId = systemMessage.by;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* User this action was performed by
|
|
101
|
+
*/
|
|
102
|
+
get by() {
|
|
103
|
+
console.info("deez!", this.byId);
|
|
104
|
+
return this.client.users.get(this.byId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Channel Edit System Message
|
|
109
|
+
*/
|
|
110
|
+
export class ChannelEditSystemMessage extends SystemMessage {
|
|
111
|
+
byId;
|
|
112
|
+
/**
|
|
113
|
+
* Construct System Message
|
|
114
|
+
* @param client Client
|
|
115
|
+
* @param systemMessage System Message
|
|
116
|
+
*/
|
|
117
|
+
constructor(client, systemMessage) {
|
|
118
|
+
super(client, systemMessage.type);
|
|
119
|
+
this.byId = systemMessage.by;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* User this action was performed by
|
|
123
|
+
*/
|
|
124
|
+
get by() {
|
|
125
|
+
return this.client.users.get(this.byId);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Channel Renamed System Message
|
|
130
|
+
*/
|
|
131
|
+
export class ChannelRenamedSystemMessage extends ChannelEditSystemMessage {
|
|
132
|
+
name;
|
|
133
|
+
/**
|
|
134
|
+
* Construct System Message
|
|
135
|
+
* @param client Client
|
|
136
|
+
* @param systemMessage System Message
|
|
137
|
+
*/
|
|
138
|
+
constructor(client, systemMessage) {
|
|
139
|
+
super(client, systemMessage);
|
|
140
|
+
this.name = systemMessage.name;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Channel Ownership Change System Message
|
|
145
|
+
*/
|
|
146
|
+
export class ChannelOwnershipChangeSystemMessage extends SystemMessage {
|
|
147
|
+
fromId;
|
|
148
|
+
toId;
|
|
149
|
+
/**
|
|
150
|
+
* Construct System Message
|
|
151
|
+
* @param client Client
|
|
152
|
+
* @param systemMessage System Message
|
|
153
|
+
*/
|
|
154
|
+
constructor(client, systemMessage) {
|
|
155
|
+
super(client, systemMessage.type);
|
|
156
|
+
this.fromId = systemMessage.from;
|
|
157
|
+
this.toId = systemMessage.to;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* User giving away channel ownership
|
|
161
|
+
*/
|
|
162
|
+
get from() {
|
|
163
|
+
return this.client.users.get(this.fromId);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* User receiving channel ownership
|
|
167
|
+
*/
|
|
168
|
+
get to() {
|
|
169
|
+
return this.client.users.get(this.toId);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { DataEditUser, Presence } from "../api";
|
|
2
|
+
import { UserCollection } from "../collections/index.js";
|
|
3
|
+
import { UserProfile } from "../index.js";
|
|
4
|
+
/**
|
|
5
|
+
* User Class
|
|
6
|
+
*/
|
|
7
|
+
export declare class User {
|
|
8
|
+
#private;
|
|
9
|
+
readonly id: string;
|
|
10
|
+
/**
|
|
11
|
+
* Construct User
|
|
12
|
+
* @param collection Collection
|
|
13
|
+
* @param id Id
|
|
14
|
+
*/
|
|
15
|
+
constructor(collection: UserCollection, id: string);
|
|
16
|
+
/**
|
|
17
|
+
* Write to string as a user mention
|
|
18
|
+
* @returns Formatted String
|
|
19
|
+
*/
|
|
20
|
+
toString(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Whether this object exists
|
|
23
|
+
*/
|
|
24
|
+
get $exists(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Time when this user created their account
|
|
27
|
+
*/
|
|
28
|
+
get createdAt(): Date;
|
|
29
|
+
/**
|
|
30
|
+
* Username
|
|
31
|
+
*/
|
|
32
|
+
get username(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Discriminator
|
|
35
|
+
*/
|
|
36
|
+
get discriminator(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Display Name
|
|
39
|
+
*/
|
|
40
|
+
get displayName(): string;
|
|
41
|
+
/**
|
|
42
|
+
* Avatar
|
|
43
|
+
*/
|
|
44
|
+
get avatar(): import("./File").File | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Badges
|
|
47
|
+
*/
|
|
48
|
+
get badges(): import("../index.js").UserBadges;
|
|
49
|
+
/**
|
|
50
|
+
* User Status
|
|
51
|
+
*/
|
|
52
|
+
get status(): {
|
|
53
|
+
text?: string | null | undefined;
|
|
54
|
+
presence?: "Online" | "Idle" | "Focus" | "Busy" | "Invisible" | null | undefined;
|
|
55
|
+
} | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Relationship with user
|
|
58
|
+
*/
|
|
59
|
+
get relationship(): "Blocked" | "None" | "User" | "Friend" | "Outgoing" | "Incoming" | "BlockedOther";
|
|
60
|
+
/**
|
|
61
|
+
* Whether the user is online
|
|
62
|
+
*/
|
|
63
|
+
get online(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Whether the user is privileged
|
|
66
|
+
*/
|
|
67
|
+
get privileged(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Flags
|
|
70
|
+
*/
|
|
71
|
+
get flags(): import("../index.js").UserFlags;
|
|
72
|
+
/**
|
|
73
|
+
* Bot information
|
|
74
|
+
*/
|
|
75
|
+
get bot(): {
|
|
76
|
+
owner: string;
|
|
77
|
+
} | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Whether this user is ourselves
|
|
80
|
+
*/
|
|
81
|
+
get self(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* URL to the user's default avatar
|
|
84
|
+
*/
|
|
85
|
+
get defaultAvatarURL(): string;
|
|
86
|
+
/**
|
|
87
|
+
* URL to the user's avatar
|
|
88
|
+
*/
|
|
89
|
+
get avatarURL(): string;
|
|
90
|
+
/**
|
|
91
|
+
* URL to the user's animated avatar
|
|
92
|
+
*/
|
|
93
|
+
get animatedAvatarURL(): string;
|
|
94
|
+
/**
|
|
95
|
+
* Presence
|
|
96
|
+
*/
|
|
97
|
+
get presence(): "Online" | "Idle" | "Focus" | "Busy" | "Invisible";
|
|
98
|
+
/**
|
|
99
|
+
* Generate status message
|
|
100
|
+
* @param translate Translation function
|
|
101
|
+
* @returns Status message
|
|
102
|
+
*/
|
|
103
|
+
statusMessage(translate?: (presence: Presence) => string): string | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Permissions against this user
|
|
106
|
+
*/
|
|
107
|
+
get permission(): number;
|
|
108
|
+
/**
|
|
109
|
+
* Edit the user
|
|
110
|
+
* @param data Changes
|
|
111
|
+
*/
|
|
112
|
+
edit(data: DataEditUser): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Change the username of the current user
|
|
115
|
+
* @param username New username
|
|
116
|
+
* @param password Current password
|
|
117
|
+
*/
|
|
118
|
+
changeUsername(username: string, password: string): Promise<{
|
|
119
|
+
_id: string;
|
|
120
|
+
username: string;
|
|
121
|
+
discriminator: string;
|
|
122
|
+
display_name?: string | null | undefined;
|
|
123
|
+
avatar?: {
|
|
124
|
+
_id: string;
|
|
125
|
+
tag: string;
|
|
126
|
+
filename: string;
|
|
127
|
+
metadata: {
|
|
128
|
+
type: "File";
|
|
129
|
+
} | {
|
|
130
|
+
type: "Text";
|
|
131
|
+
} | {
|
|
132
|
+
type: "Image";
|
|
133
|
+
width: number;
|
|
134
|
+
height: number;
|
|
135
|
+
} | {
|
|
136
|
+
type: "Video";
|
|
137
|
+
width: number;
|
|
138
|
+
height: number;
|
|
139
|
+
} | {
|
|
140
|
+
type: "Audio";
|
|
141
|
+
};
|
|
142
|
+
content_type: string;
|
|
143
|
+
size: number;
|
|
144
|
+
deleted?: boolean | null | undefined;
|
|
145
|
+
reported?: boolean | null | undefined;
|
|
146
|
+
message_id?: string | null | undefined;
|
|
147
|
+
user_id?: string | null | undefined;
|
|
148
|
+
server_id?: string | null | undefined;
|
|
149
|
+
object_id?: string | null | undefined;
|
|
150
|
+
} | null | undefined;
|
|
151
|
+
relations?: {
|
|
152
|
+
_id: string;
|
|
153
|
+
status: "Blocked" | "None" | "User" | "Friend" | "Outgoing" | "Incoming" | "BlockedOther";
|
|
154
|
+
}[] | undefined;
|
|
155
|
+
badges?: number | undefined;
|
|
156
|
+
status?: {
|
|
157
|
+
text?: string | null | undefined;
|
|
158
|
+
presence?: "Online" | "Idle" | "Focus" | "Busy" | "Invisible" | null | undefined;
|
|
159
|
+
} | null | undefined;
|
|
160
|
+
flags?: number | undefined;
|
|
161
|
+
privileged?: boolean | undefined;
|
|
162
|
+
bot?: {
|
|
163
|
+
owner: string;
|
|
164
|
+
} | null | undefined;
|
|
165
|
+
relationship: "Blocked" | "None" | "User" | "Friend" | "Outgoing" | "Incoming" | "BlockedOther";
|
|
166
|
+
online: boolean;
|
|
167
|
+
}>;
|
|
168
|
+
/**
|
|
169
|
+
* Open a DM with a user
|
|
170
|
+
* @returns DM Channel
|
|
171
|
+
*/
|
|
172
|
+
openDM(): Promise<import("./Channel").Channel>;
|
|
173
|
+
/**
|
|
174
|
+
* Send a friend request to a user
|
|
175
|
+
*/
|
|
176
|
+
addFriend(): Promise<User>;
|
|
177
|
+
/**
|
|
178
|
+
* Remove a user from the friend list
|
|
179
|
+
*/
|
|
180
|
+
removeFriend(): Promise<void>;
|
|
181
|
+
/**
|
|
182
|
+
* Block a user
|
|
183
|
+
*/
|
|
184
|
+
blockUser(): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Unblock a user
|
|
187
|
+
*/
|
|
188
|
+
unblockUser(): Promise<void>;
|
|
189
|
+
/**
|
|
190
|
+
* Fetch the profile of a user
|
|
191
|
+
* @returns The profile of the user
|
|
192
|
+
*/
|
|
193
|
+
fetchProfile(): Promise<UserProfile>;
|
|
194
|
+
/**
|
|
195
|
+
* Fetch the mutual connections of the current user and a target user
|
|
196
|
+
* @returns The mutual connections of the current user and a target user
|
|
197
|
+
*/
|
|
198
|
+
fetchMutual(): Promise<{
|
|
199
|
+
users: string[];
|
|
200
|
+
servers: string[];
|
|
201
|
+
}>;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=User.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/classes/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;GAEG;AACH,qBAAa,IAAI;;IAEf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;gBACS,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAKlD;;;OAGG;IACH,QAAQ;IAIR;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,SAAS,SAEZ;IAED;;OAEG;IACH,IAAI,QAAQ,WAEX;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,WAAW,WAKd;IAED;;OAEG;IACH,IAAI,MAAM,sCAET;IAED;;OAEG;IACH,IAAI,MAAM,qCAET;IAED;;OAEG;IACH,IAAI,MAAM;;;kBAKT;IAED;;OAEG;IACH,IAAI,YAAY,sFAEf;IAED;;OAEG;IACH,IAAI,MAAM,YAET;IAED;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,IAAI,KAAK,oCAER;IAED;;OAEG;IACH,IAAI,GAAG;;kBAEN;IAED;;OAEG;IACH,IAAI,IAAI,YAEP;IAED;;OAEG;IACH,IAAI,gBAAgB,WAInB;IAED;;OAEG;IACH,IAAI,SAAS,WAIZ;IAED;;OAEG;IACH,IAAI,iBAAiB,WAKpB;IAED;;OAEG;IACH,IAAI,QAAQ,uDAEX;IAED;;;;OAIG;IACH,aAAa,CAAC,SAAS,GAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAiB;IAOlE;;OAEG;IACH,IAAI,UAAU,WAgCb;IAED;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,YAAY;IAS7B;;;;OAIG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOvD;;;OAGG;IACG,MAAM;IAwBZ;;OAEG;IACG,SAAS;IAQf;;OAEG;IACG,YAAY;IAIlB;;OAEG;IACG,SAAS;IAIf;;OAEG;IACG,WAAW;IAIjB;;;OAGG;IACG,YAAY;IAOlB;;;OAGG;IACG,WAAW;;;;CAKlB"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { UserProfile } from "../index.js";
|
|
2
|
+
import { U32_MAX, UserPermission } from "../permissions/definitions.js";
|
|
3
|
+
import { decodeTime } from "ulid";
|
|
4
|
+
/**
|
|
5
|
+
* User Class
|
|
6
|
+
*/
|
|
7
|
+
export class User {
|
|
8
|
+
#collection;
|
|
9
|
+
id;
|
|
10
|
+
/**
|
|
11
|
+
* Construct User
|
|
12
|
+
* @param collection Collection
|
|
13
|
+
* @param id Id
|
|
14
|
+
*/
|
|
15
|
+
constructor(collection, id) {
|
|
16
|
+
this.#collection = collection;
|
|
17
|
+
this.id = id;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Write to string as a user mention
|
|
21
|
+
* @returns Formatted String
|
|
22
|
+
*/
|
|
23
|
+
toString() {
|
|
24
|
+
return `<@${this.id}>`;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Whether this object exists
|
|
28
|
+
*/
|
|
29
|
+
get $exists() {
|
|
30
|
+
return !!this.#collection.getUnderlyingObject(this.id).id;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Time when this user created their account
|
|
34
|
+
*/
|
|
35
|
+
get createdAt() {
|
|
36
|
+
return new Date(decodeTime(this.id));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Username
|
|
40
|
+
*/
|
|
41
|
+
get username() {
|
|
42
|
+
return this.#collection.getUnderlyingObject(this.id).username;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Discriminator
|
|
46
|
+
*/
|
|
47
|
+
get discriminator() {
|
|
48
|
+
return this.#collection.getUnderlyingObject(this.id).discriminator;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Display Name
|
|
52
|
+
*/
|
|
53
|
+
get displayName() {
|
|
54
|
+
return (this.#collection.getUnderlyingObject(this.id).displayName ??
|
|
55
|
+
this.#collection.getUnderlyingObject(this.id).username);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Avatar
|
|
59
|
+
*/
|
|
60
|
+
get avatar() {
|
|
61
|
+
return this.#collection.getUnderlyingObject(this.id).avatar;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Badges
|
|
65
|
+
*/
|
|
66
|
+
get badges() {
|
|
67
|
+
return this.#collection.getUnderlyingObject(this.id).badges;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* User Status
|
|
71
|
+
*/
|
|
72
|
+
get status() {
|
|
73
|
+
// TODO: issue with API, upstream fix required #319
|
|
74
|
+
if (!this.online)
|
|
75
|
+
return { text: undefined, presence: "Invisible" };
|
|
76
|
+
return this.#collection.getUnderlyingObject(this.id).status;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Relationship with user
|
|
80
|
+
*/
|
|
81
|
+
get relationship() {
|
|
82
|
+
return this.#collection.getUnderlyingObject(this.id).relationship;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Whether the user is online
|
|
86
|
+
*/
|
|
87
|
+
get online() {
|
|
88
|
+
return this.#collection.getUnderlyingObject(this.id).online;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Whether the user is privileged
|
|
92
|
+
*/
|
|
93
|
+
get privileged() {
|
|
94
|
+
return this.#collection.getUnderlyingObject(this.id).privileged;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Flags
|
|
98
|
+
*/
|
|
99
|
+
get flags() {
|
|
100
|
+
return this.#collection.getUnderlyingObject(this.id).flags;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Bot information
|
|
104
|
+
*/
|
|
105
|
+
get bot() {
|
|
106
|
+
return this.#collection.getUnderlyingObject(this.id).bot;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Whether this user is ourselves
|
|
110
|
+
*/
|
|
111
|
+
get self() {
|
|
112
|
+
return this.#collection.client.user === this;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* URL to the user's default avatar
|
|
116
|
+
*/
|
|
117
|
+
get defaultAvatarURL() {
|
|
118
|
+
return `${this.#collection.client.options.baseURL}/users/${this.id}/default_avatar`;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* URL to the user's avatar
|
|
122
|
+
*/
|
|
123
|
+
get avatarURL() {
|
|
124
|
+
return (this.avatar?.createFileURL({ max_side: 256 }) ?? this.defaultAvatarURL);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* URL to the user's animated avatar
|
|
128
|
+
*/
|
|
129
|
+
get animatedAvatarURL() {
|
|
130
|
+
return (this.avatar?.createFileURL({ max_side: 256 }, true) ??
|
|
131
|
+
this.defaultAvatarURL);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Presence
|
|
135
|
+
*/
|
|
136
|
+
get presence() {
|
|
137
|
+
return this.online ? this.status?.presence ?? "Online" : "Invisible";
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Generate status message
|
|
141
|
+
* @param translate Translation function
|
|
142
|
+
* @returns Status message
|
|
143
|
+
*/
|
|
144
|
+
statusMessage(translate = (a) => a) {
|
|
145
|
+
return this.online
|
|
146
|
+
? this.status?.text ??
|
|
147
|
+
(this.presence === "Focus" ? translate("Focus") : undefined)
|
|
148
|
+
: undefined;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Permissions against this user
|
|
152
|
+
*/
|
|
153
|
+
get permission() {
|
|
154
|
+
let permissions = 0;
|
|
155
|
+
switch (this.relationship) {
|
|
156
|
+
case "Friend":
|
|
157
|
+
case "User":
|
|
158
|
+
return U32_MAX;
|
|
159
|
+
case "Blocked":
|
|
160
|
+
case "BlockedOther":
|
|
161
|
+
return UserPermission.Access;
|
|
162
|
+
case "Incoming":
|
|
163
|
+
case "Outgoing":
|
|
164
|
+
permissions = UserPermission.Access;
|
|
165
|
+
}
|
|
166
|
+
if (this.#collection.client.channels.find((channel) => (channel.type === "Group" || channel.type === "DirectMessage") &&
|
|
167
|
+
channel.recipientIds.has(this.id)) ||
|
|
168
|
+
this.#collection.client.serverMembers.find((member) => member.id.user === this.id)) {
|
|
169
|
+
if (this.#collection.client.user?.bot || this.bot) {
|
|
170
|
+
permissions |= UserPermission.SendMessage;
|
|
171
|
+
}
|
|
172
|
+
permissions |= UserPermission.Access | UserPermission.ViewProfile;
|
|
173
|
+
}
|
|
174
|
+
return permissions;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Edit the user
|
|
178
|
+
* @param data Changes
|
|
179
|
+
*/
|
|
180
|
+
async edit(data) {
|
|
181
|
+
await this.#collection.client.api.patch(`/users/${this.id === this.#collection.client.user?.id ? "@me" : this.id}`, data);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Change the username of the current user
|
|
185
|
+
* @param username New username
|
|
186
|
+
* @param password Current password
|
|
187
|
+
*/
|
|
188
|
+
async changeUsername(username, password) {
|
|
189
|
+
return await this.#collection.client.api.patch("/users/@me/username", {
|
|
190
|
+
username,
|
|
191
|
+
password,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Open a DM with a user
|
|
196
|
+
* @returns DM Channel
|
|
197
|
+
*/
|
|
198
|
+
async openDM() {
|
|
199
|
+
let dm = [...this.#collection.client.channels.values()].find((x) => x.type === "DirectMessage" && x.recipient == this);
|
|
200
|
+
if (dm) {
|
|
201
|
+
if (!dm.active) {
|
|
202
|
+
this.#collection.client.channels.updateUnderlyingObject(dm.id, "active", true);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const data = await this.#collection.client.api.get(`/users/${this.id}/dm`);
|
|
207
|
+
dm = this.#collection.client.channels.getOrCreate(data._id, data);
|
|
208
|
+
}
|
|
209
|
+
return dm;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Send a friend request to a user
|
|
213
|
+
*/
|
|
214
|
+
async addFriend() {
|
|
215
|
+
const user = await this.#collection.client.api.post(`/users/friend`, {
|
|
216
|
+
username: this.username,
|
|
217
|
+
});
|
|
218
|
+
return this.#collection.getOrCreate(user._id, user);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Remove a user from the friend list
|
|
222
|
+
*/
|
|
223
|
+
async removeFriend() {
|
|
224
|
+
await this.#collection.client.api.delete(`/users/${this.id}/friend`);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Block a user
|
|
228
|
+
*/
|
|
229
|
+
async blockUser() {
|
|
230
|
+
await this.#collection.client.api.put(`/users/${this.id}/block`);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Unblock a user
|
|
234
|
+
*/
|
|
235
|
+
async unblockUser() {
|
|
236
|
+
await this.#collection.client.api.delete(`/users/${this.id}/block`);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Fetch the profile of a user
|
|
240
|
+
* @returns The profile of the user
|
|
241
|
+
*/
|
|
242
|
+
async fetchProfile() {
|
|
243
|
+
return new UserProfile(this.#collection.client, await this.#collection.client.api.get(`/users/${this.id}/profile`));
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Fetch the mutual connections of the current user and a target user
|
|
247
|
+
* @returns The mutual connections of the current user and a target user
|
|
248
|
+
*/
|
|
249
|
+
async fetchMutual() {
|
|
250
|
+
return await this.#collection.client.api.get(`/users/${this.id}/mutual`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { API, Client, File } from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* User Profile Class
|
|
4
|
+
*/
|
|
5
|
+
export declare class UserProfile {
|
|
6
|
+
readonly content?: string;
|
|
7
|
+
readonly banner?: File;
|
|
8
|
+
/**
|
|
9
|
+
* Construct Public Bot
|
|
10
|
+
* @param client Client
|
|
11
|
+
* @param data Data
|
|
12
|
+
*/
|
|
13
|
+
constructor(client: Client, data: API.UserProfile);
|
|
14
|
+
/**
|
|
15
|
+
* URL to the user's banner
|
|
16
|
+
*/
|
|
17
|
+
get bannerURL(): string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* URL to the user's animated banner
|
|
20
|
+
*/
|
|
21
|
+
get animatedBannerURL(): string | undefined;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=UserProfile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../../../src/classes/UserProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAEvB;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW;IAOjD;;OAEG;IACH,IAAI,SAAS,uBAEZ;IAED;;OAEG;IACH,IAAI,iBAAiB,uBAEpB;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { File } from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* User Profile Class
|
|
4
|
+
*/
|
|
5
|
+
export class UserProfile {
|
|
6
|
+
content;
|
|
7
|
+
banner;
|
|
8
|
+
/**
|
|
9
|
+
* Construct Public Bot
|
|
10
|
+
* @param client Client
|
|
11
|
+
* @param data Data
|
|
12
|
+
*/
|
|
13
|
+
constructor(client, data) {
|
|
14
|
+
this.content = data.content;
|
|
15
|
+
this.banner = data.background
|
|
16
|
+
? new File(client, data.background)
|
|
17
|
+
: undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* URL to the user's banner
|
|
21
|
+
*/
|
|
22
|
+
get bannerURL() {
|
|
23
|
+
return this.banner?.createFileURL({ width: 1000 });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* URL to the user's animated banner
|
|
27
|
+
*/
|
|
28
|
+
get animatedBannerURL() {
|
|
29
|
+
return this.banner?.createFileURL({ width: 1000 }, true);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from "./BannedUser.js";
|
|
2
|
+
export * from "./Bot.js";
|
|
3
|
+
export * from "./Channel.js";
|
|
4
|
+
export * from "./ChannelUnread.js";
|
|
5
|
+
export * from "./ChannelWebhook.js";
|
|
6
|
+
export * from "./Emoji.js";
|
|
7
|
+
export * from "./File.js";
|
|
8
|
+
export * from "./Invite.js";
|
|
9
|
+
export * from "./Message.js";
|
|
10
|
+
export * from "./MessageEmbed.js";
|
|
11
|
+
export * from "./PublicBot.js";
|
|
12
|
+
export * from "./PublicInvite.js";
|
|
13
|
+
export * from "./Server.js";
|
|
14
|
+
export * from "./ServerBan.js";
|
|
15
|
+
export * from "./ServerMember.js";
|
|
16
|
+
export * from "./Session.js";
|
|
17
|
+
export * from "./SystemMessage.js";
|
|
18
|
+
export * from "./User.js";
|
|
19
|
+
export * from "./MFA.js";
|
|
20
|
+
export * from "./UserProfile.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|