snowtransfer 0.3.6 → 0.4.2

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.
@@ -1,5 +1,5 @@
1
1
  declare const _default: {
2
- REST_API_VERSION: 9;
2
+ REST_API_VERSION: 10;
3
3
  GET_CHANNEL_MESSAGES_MAX_RESULTS: 100;
4
4
  GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS: 100;
5
5
  BULK_DELETE_MESSAGES_MIN: 2;
package/dist/Constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  module.exports = {
3
- REST_API_VERSION: 9,
3
+ REST_API_VERSION: 10,
4
4
  GET_CHANNEL_MESSAGES_MAX_RESULTS: 100,
5
5
  GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS: 100,
6
6
  BULK_DELETE_MESSAGES_MIN: 2,
@@ -1,92 +1,95 @@
1
- declare const _default: {
2
- BASE_URL: string;
3
- BASE_HOST: string;
4
- CDN_URL: string;
5
- APPLICATION_COMMAND: (appID: string, cmdID: string) => string;
6
- APPLICATION_COMMAND_PERMISSIONS: (appID: string, guildID: string, cmdID: string) => string;
7
- APPLICATION_COMMANDS: (appID: string) => string;
8
- APPLICATION_GUILD_COMMAND: (appID: string, guildID: string, cmdID: string) => string;
9
- APPLICATION_GUILD_COMMANDS: (appID: string, guildID: string) => string;
10
- CHANNEL: (chanID: string) => string;
11
- CHANNEL_BULK_DELETE: (chanID: string) => string;
12
- CHANNEL_INVITES: (chanID: string) => string;
13
- CHANNEL_MESSAGE: (chanID: string, msgID: string) => string;
14
- CHANNEL_MESSAGE_CROSSPOST: (chanID: string, msgID: string) => string;
15
- CHANNEL_MESSAGE_REACTION: (chanID: string, msgID: string, reaction: string) => string;
16
- CHANNEL_MESSAGE_REACTION_USER: (chanID: string, msgID: string, reaction: string, userID: string) => string;
17
- CHANNEL_MESSAGE_REACTIONS: (chanID: string, msgID: string) => string;
18
- CHANNEL_MESSAGE_THREADS: (chanID: string, msgID: string) => string;
19
- CHANNEL_MESSAGES: (chanID: string) => string;
20
- CHANNEL_PERMISSION: (chanID: string, overID: string) => string;
21
- CHANNEL_PERMISSIONS: (chanID: string) => string;
22
- CHANNEL_PIN: (chanID: string, msgID: string) => string;
23
- CHANNEL_PINS: (chanID: string) => string;
24
- CHANNEL_RECIPIENT: (groupID: string, userID: string) => string;
25
- CHANNEL_THREADS: (chanID: string) => string;
26
- CHANNEL_THREAD_MEMBER: (chanID: string, memberID: string) => string;
27
- CHANNEL_THREAD_MEMBERS: (chanID: any) => string;
28
- CHANNEL_THREADS_ARCHIVED_PRIVATE: (chanID: string) => string;
29
- CHANNEL_THREADS_ARCHIVED_PRIVATE_USER: (chanID: string) => string;
30
- CHANNEL_THREADS_ARCHIVED_PUBLIC: (chanID: string) => string;
31
- CHANNEL_TYPING: (chanID: string) => string;
32
- CHANNEL_WEBHOOKS: (chanID: string) => string;
33
- CHANNELS: string;
34
- GATEWAY: string;
35
- GATEWAY_BOT: string;
36
- GUILD: (guildID: string) => string;
37
- GUILD_APPLICATION_COMMAND_PERMISSIONS: (appID: string, guildID: string) => string;
38
- GUILD_AUDIT_LOGS: (guildID: string) => string;
39
- GUILD_BAN: (guildID: string, memberID: string) => string;
40
- GUILD_BANS: (guildID: string) => string;
41
- GUILD_CHANNELS: (guildID: string) => string;
42
- GUILD_EMOJI: (guildID: string, emojiID: string) => string;
43
- GUILD_EMOJIS: (guildID: string) => string;
44
- GUILD_INVITES: (guildID: string) => string;
45
- GUILD_INTEGRATION: (guildID: string, integrationID: string) => string;
46
- GUILD_INTEGRATIONS: (guildID: string) => string;
47
- GUILD_MEMBER: (guildID: string, memberID: string) => string;
48
- GUILD_MEMBER_NICK: (guildID: string, memberID: string) => string;
49
- GUILD_MEMBER_ROLE: (guildID: string, memberID: string, roleID: string) => string;
50
- GUILD_MEMBERS: (guildID: string) => string;
51
- GUILD_MEMBERS_SEARCH: (guildID: string) => string;
52
- GUILD_PREVIEW: (guildID: string) => string;
53
- GUILD_PRUNE: (guildID: string) => string;
54
- GUILD_ROLE: (guildID: string, roleID: string) => string;
55
- GUILD_ROLES: (guildID: string) => string;
56
- SCHEDULED_EVENTS: (guildID: string) => string;
57
- SCHEDULED_EVENT: (guildID: string, eventId: string) => string;
58
- SCHEDULE_EVENT_USERS: (guildID: string, eventId: string) => string;
59
- GUILD_STICKER: (guildID: string, stickerID: string) => string;
60
- GUILD_STICKERS: (guildID: string) => string;
61
- GUILD_TEMPLATE: (guildID: string, code: string) => string;
62
- GUILD_THREADS_ACTIVE: (guildID: string) => string;
63
- GUILD_TEMPLATES: (guildID: string) => string;
64
- GUILD_VANITY: (guildID: string) => string;
65
- GUILD_VOICE_REGIONS: (guildID: string) => string;
66
- GUILD_VOICE_STATE_USER: (guildID: string, memberID: string) => string;
67
- GUILD_WEBHOOKS: (guildID: string) => string;
68
- GUILD_WELCOME_SCREEN: (guildID: string) => string;
69
- GUILD_WIDGET: (guildID: string) => string;
70
- GUILD_WIDGET_IMAGE: (guildID: string) => string;
71
- GUILD_WIDGET_SETTINGS: (guildID: string) => string;
72
- GUILDS: string;
73
- INTERACTION_CALLBACK: (interactionID: string, token: string) => string;
74
- INVITE: (inviteID: string) => string;
75
- OAUTH2_APPLICATION: (appID: string) => string;
76
- STAGE_INSTANCE_CHANNEL: (chanID: string) => string;
77
- STAGE_INSTANCES: string;
78
- STICKER: (stickerID: string) => string;
79
- TEMPLATE: (code: string) => string;
80
- USER: (userID: string) => string;
81
- USER_CHANNELS: (userID: string) => string;
82
- USER_GUILD: (userID: string, guildID: string) => string;
83
- USER_GUILDS: (userID: string) => string;
84
- USERS: string;
85
- VOICE_REGIONS: string;
86
- WEBHOOK: (hookID: string) => string;
87
- WEBHOOK_TOKEN: (hookID: string, token: string) => string;
88
- WEBHOOK_TOKEN_GITHUB: (hookID: string, token: string) => string;
1
+ /**
2
+ * Mostly taken from https://github.com/abalabahaha/eris/blob/master/lib/rest/Endpoints.js
3
+ *
4
+ * Removed User-only endpoints
5
+ */
6
+ declare const Endpoints: {
7
+ BASE_URL: "/api/v10";
8
+ BASE_HOST: "https://discord.com";
9
+ CDN_URL: "https://cdn.discordapp.com";
10
+ APPLICATION_COMMAND: (appID: string, cmdID: string) => "/applications/:app_id/commands/:cmd_id";
11
+ APPLICATION_COMMANDS: (appID: string) => "/applications/:app_id/commands";
12
+ APPLICATION_GUILD_COMMANDS_PERMISSIONS: (appID: string, guildID: string) => "/applications/:app_id/guilds/:guild_id/commands/permissions";
13
+ APPLICATION_GUILD_COMMAND_PERMISSIONS: (appID: string, guildID: string, cmdID: string) => "/applications/:app_id/guilds/:guild_id/commands/permissions";
14
+ APPLICATION_GUILD_COMMAND: (appID: string, guildID: string, cmdID: string) => "/applications/:app_id/guilds/:guild_id/commands/:cmd_id";
15
+ APPLICATION_GUILD_COMMANDS: (appID: string, guildID: string) => "/applications/:app_id/guilds/:guild_id/commands";
16
+ CHANNEL: (chanID: string) => "/channels/:channel_id";
17
+ CHANNEL_BULK_DELETE: (chanID: string) => "/channels/:channel_id/messages/bulk-delete";
18
+ CHANNEL_INVITES: (chanID: string) => "/channels/:channel_id/invites";
19
+ CHANNEL_MESSAGE: (chanID: string, msgID: string) => "/channels/:channel_id/messages/:message_id";
20
+ CHANNEL_MESSAGE_CROSSPOST: (chanID: string, msgID: string) => "/channels/:channel_id/messages/:message_id/crosspost";
21
+ CHANNEL_MESSAGE_REACTION: (chanID: string, msgID: string, reaction: string) => "/channels/:channel_id/messages/:message_id/reactions/:reaction";
22
+ CHANNEL_MESSAGE_REACTION_USER: (chanID: string, msgID: string, reaction: string, userID: string) => "/channels/:channel_id/messages/:message_id/reactions/:reaction/:user_id";
23
+ CHANNEL_MESSAGE_REACTIONS: (chanID: string, msgID: string) => "/channels/:channel_id/messages/:message_id/reactions";
24
+ CHANNEL_MESSAGE_THREADS: (chanID: string, msgID: string) => "/channels/:channel_id/messages/:message_id/threads";
25
+ CHANNEL_MESSAGES: (chanID: string) => "/channels/:channel_id/messages";
26
+ CHANNEL_PERMISSION: (chanID: string, permID: string) => "/channels/:channel_id/permissions/:perm_id";
27
+ CHANNEL_PERMISSIONS: (chanID: string) => "/channels/:channel_id/permissions";
28
+ CHANNEL_PIN: (chanID: string, msgID: string) => "/channels/:channel_id/pins/:message_id";
29
+ CHANNEL_PINS: (chanID: string) => "/channels/:channel_id/pins";
30
+ CHANNEL_RECIPIENT: (chanID: string, userID: string) => "/channels/:channel_id/recipients/:user_id";
31
+ CHANNEL_THREADS: (chanID: string) => "/channels/:channel_id/threads";
32
+ CHANNEL_THREAD_MEMBER: (chanID: string, memberID: string) => "/channels/:channel_id/thread-members/:member_id";
33
+ CHANNEL_THREAD_MEMBERS: (chanID: string) => "/channels/:channel_id/thread-members";
34
+ CHANNEL_THREADS_ARCHIVED_PRIVATE: (chanID: string) => "/channels/:channel_id/threads/archived/private";
35
+ CHANNEL_THREADS_ARCHIVED_PRIVATE_USER: (chanID: string) => "/channels/:channel_id/users/@me/threads/archived/private";
36
+ CHANNEL_THREADS_ARCHIVED_PUBLIC: (chanID: string) => "/channels/:channel_id/threads/archived/public";
37
+ CHANNEL_TYPING: (chanID: string) => "/channels/:channel_id/typing";
38
+ CHANNEL_WEBHOOKS: (chanID: string) => "/channels/:channel_id/webhooks";
39
+ CHANNELS: "/channels";
40
+ GATEWAY: "/gateway";
41
+ GATEWAY_BOT: "/gateway/bot";
42
+ GUILD: (guildID: string) => "/guilds/:guild_id";
43
+ GUILD_AUDIT_LOGS: (guildID: string) => "/guilds/:guild_id/audit-logs";
44
+ GUILD_BAN: (guildID: string, memberID: string) => "/guilds/:guild_id/bans/:member_id";
45
+ GUILD_BANS: (guildID: string) => "/guilds/:guild_id/bans";
46
+ GUILD_CHANNELS: (guildID: string) => "/guilds/:guild_id/channels";
47
+ GUILD_EMOJI: (guildID: string, emojiID: string) => "/guilds/:guild_id/emojis/:emoji_id";
48
+ GUILD_EMOJIS: (guildID: string) => "/guilds/:guild_id/emojis";
49
+ GUILD_INVITES: (guildID: string) => "/guilds/:guild_id/invites";
50
+ GUILD_INTEGRATION: (guildID: string, integrationID: string) => "/guilds/:guild_id/integrations/:integration_id";
51
+ GUILD_INTEGRATIONS: (guildID: string) => "/guilds/:guild_id/integrations";
52
+ GUILD_MEMBER: (guildID: string, memberID: string) => "/guilds/:guild_id/members/:member_id";
53
+ GUILD_MEMBER_ROLE: (guildID: string, memberID: string, roleID: string) => "/guilds/:guild_id/members/:member_id/roles/:role_id";
54
+ GUILD_MEMBERS: (guildID: string) => "/guilds/:guild_id/members";
55
+ GUILD_MEMBERS_SEARCH: (guildID: string) => "/guilds/:guild_id/members/search";
56
+ GUILD_PREVIEW: (guildID: string) => "/guilds/:guild_id/preview";
57
+ GUILD_PRUNE: (guildID: string) => "/guilds/:guild_id/prune";
58
+ GUILD_ROLE: (guildID: string, roleID: string) => "/guilds/:guild_id/roles/:role_id";
59
+ GUILD_ROLES: (guildID: string) => "/guilds/:guild_id/roles";
60
+ GUILD_SCHEDULED_EVENTS: (guildID: string) => "/guilds/:guild_id/scheduled-events";
61
+ GUILD_SCHEDULED_EVENT: (guildID: string, eventId: string) => "/guilds/:guild_id/scheduled-events/:event_id";
62
+ GUILD_SCHEDULED_EVENT_USERS: (guildID: string, eventId: string) => "/guilds/:guild_id/scheduled-events/:event_id/users";
63
+ GUILD_STICKER: (guildID: string, stickerID: string) => "/guilds/:guild_id/stickers/:sticker_id";
64
+ GUILD_STICKERS: (guildID: string) => "/guilds/:guild_id/stickers";
65
+ GUILD_TEMPLATE: (guildID: string, code: string) => "/guilds/:guild_id/templates/:code";
66
+ GUILD_THREADS_ACTIVE: (guildID: string) => "/guilds/:guild_id/threads/active";
67
+ GUILD_TEMPLATES: (guildID: string) => "/guilds/:guild_id/templates";
68
+ GUILD_VANITY: (guildID: string) => "/guilds/:guild_id/vanity-url";
69
+ GUILD_VOICE_REGIONS: (guildID: string) => "/guilds/:guild_id/regions";
70
+ GUILD_VOICE_STATE_USER: (guildID: string, memberID: string) => "/guilds/:guild_id/voice-states/:member-id";
71
+ GUILD_WEBHOOKS: (guildID: string) => "/guilds/:guild_id/webhooks";
72
+ GUILD_WELCOME_SCREEN: (guildID: string) => "/guilds/:guild_id/welcome-screen";
73
+ GUILD_WIDGET: (guildID: string) => "/guilds/:guild_id/widget.json";
74
+ GUILD_WIDGET_SETTINGS: (guildID: string) => "/guilds/:guild_id/widget";
75
+ GUILDS: "/guilds";
76
+ INTERACTION_CALLBACK: (interactionID: string, token: string) => "/interactions/:interaction_id/:token/callback";
77
+ INVITE: (inviteID: string) => "/invite/:invite_id";
78
+ OAUTH2_APPLICATION: (appID: string) => "/oauth2/applications/:app_id";
79
+ STAGE_INSTANCE_CHANNEL: (chanID: string) => "/stage-instances/:channel_id";
80
+ STAGE_INSTANCES: "/stage-instances";
81
+ STICKER: (stickerID: string) => "/stickers/:sticker_id";
82
+ TEMPLATE: (code: string) => "/guilds/templates/:code";
83
+ USER: (userID: string) => "/users/:user_id";
84
+ USER_CHANNELS: (userID: string) => "/users/:user_id/channels";
85
+ USER_GUILD: (userID: string, guildID: string) => any;
86
+ USER_GUILDS: (userID: string) => "/users/:user_id/guilds";
87
+ USERS: "/users";
88
+ VOICE_REGIONS: "/voice/regions";
89
+ WEBHOOK: (hookID: string) => "/webhooks/:hook_id";
90
+ WEBHOOK_TOKEN: (hookID: string, token: string) => "/webhooks/:hook_id/:token";
91
+ WEBHOOK_TOKEN_GITHUB: (hookID: string, token: string) => "/webhooks/:hook_id/:token/github";
89
92
  WEBHOOK_TOKEN_MESSAGE: (hookID: string, token: string, msgID: string) => string;
90
- WEBHOOK_TOKEN_SLACK: (hookID: string, token: string) => string;
93
+ WEBHOOK_TOKEN_SLACK: (hookID: string, token: string) => "/webhooks/:hook_id/:token/slack";
91
94
  };
92
- export = _default;
95
+ export = Endpoints;
package/dist/Endpoints.js CHANGED
@@ -2,101 +2,99 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
+ const Constants_1 = __importDefault(require("./Constants"));
5
6
  /**
6
7
  * Mostly taken from https://github.com/abalabahaha/eris/blob/master/lib/rest/Endpoints.js
7
8
  *
8
9
  * Removed User-only endpoints
9
- * @private
10
10
  */
11
- const Constants_1 = __importDefault(require("./Constants"));
12
- module.exports = {
11
+ const Endpoints = {
13
12
  BASE_URL: "/api/v" + Constants_1.default.REST_API_VERSION,
14
13
  BASE_HOST: "https://discord.com",
15
14
  CDN_URL: "https://cdn.discordapp.com",
16
- APPLICATION_COMMAND: (appID, cmdID) => `/applications/${appID}/commands/${cmdID}`,
17
- APPLICATION_COMMAND_PERMISSIONS: (appID, guildID, cmdID) => `/applications/${appID}/guilds/${guildID}/commands/${cmdID}/permissions`,
15
+ APPLICATION_COMMAND: (appID, cmdID) => `${Endpoints.APPLICATION_COMMANDS(appID)}/${cmdID}`,
18
16
  APPLICATION_COMMANDS: (appID) => `/applications/${appID}/commands`,
19
- APPLICATION_GUILD_COMMAND: (appID, guildID, cmdID) => `/applications/${appID}/guilds/${guildID}/commands/${cmdID}`,
17
+ APPLICATION_GUILD_COMMANDS_PERMISSIONS: (appID, guildID) => `${Endpoints.APPLICATION_GUILD_COMMANDS(appID, guildID)}/permissions`,
18
+ APPLICATION_GUILD_COMMAND_PERMISSIONS: (appID, guildID, cmdID) => `${Endpoints.APPLICATION_GUILD_COMMAND(appID, guildID, cmdID)}/permissions`,
19
+ APPLICATION_GUILD_COMMAND: (appID, guildID, cmdID) => `${Endpoints.APPLICATION_GUILD_COMMANDS(appID, guildID)}/${cmdID}`,
20
20
  APPLICATION_GUILD_COMMANDS: (appID, guildID) => `/applications/${appID}/guilds/${guildID}/commands`,
21
- CHANNEL: (chanID) => `/channels/${chanID}`,
22
- CHANNEL_BULK_DELETE: (chanID) => `/channels/${chanID}/messages/bulk-delete`,
23
- CHANNEL_INVITES: (chanID) => `/channels/${chanID}/invites`,
24
- CHANNEL_MESSAGE: (chanID, msgID) => `/channels/${chanID}/messages/${msgID}`,
25
- CHANNEL_MESSAGE_CROSSPOST: (chanID, msgID) => `/channels/${chanID}/messages/${msgID}/crosspost`,
26
- CHANNEL_MESSAGE_REACTION: (chanID, msgID, reaction) => `/channels/${chanID}/messages/${msgID}/reactions/${reaction}`,
27
- CHANNEL_MESSAGE_REACTION_USER: (chanID, msgID, reaction, userID) => `/channels/${chanID}/messages/${msgID}/reactions/${reaction}/${userID}`,
28
- CHANNEL_MESSAGE_REACTIONS: (chanID, msgID) => `/channels/${chanID}/messages/${msgID}/reactions`,
29
- CHANNEL_MESSAGE_THREADS: (chanID, msgID) => `/channels/${chanID}/messages/${msgID}/threads`,
30
- CHANNEL_MESSAGES: (chanID) => `/channels/${chanID}/messages`,
31
- CHANNEL_PERMISSION: (chanID, overID) => `/channels/${chanID}/permissions/${overID}`,
32
- CHANNEL_PERMISSIONS: (chanID) => `/channels/${chanID}/permissions`,
33
- CHANNEL_PIN: (chanID, msgID) => `/channels/${chanID}/pins/${msgID}`,
34
- CHANNEL_PINS: (chanID) => `/channels/${chanID}/pins`,
35
- CHANNEL_RECIPIENT: (groupID, userID) => `/channels/${groupID}/recipients/${userID}`,
36
- CHANNEL_THREADS: (chanID) => `/channels/${chanID}/threads`,
37
- CHANNEL_THREAD_MEMBER: (chanID, memberID) => `/channels/${chanID}/thread-members/${memberID}`,
38
- CHANNEL_THREAD_MEMBERS: (chanID) => `/channels/${chanID}/thread-members`,
39
- CHANNEL_THREADS_ARCHIVED_PRIVATE: (chanID) => `/channels/${chanID}/threads/archived/private`,
40
- CHANNEL_THREADS_ARCHIVED_PRIVATE_USER: (chanID) => `/channels/${chanID}/users/@me/threads/archived/private`,
41
- CHANNEL_THREADS_ARCHIVED_PUBLIC: (chanID) => `/channels/${chanID}/threads/archived/public`,
42
- CHANNEL_TYPING: (chanID) => `/channels/${chanID}/typing`,
43
- CHANNEL_WEBHOOKS: (chanID) => `/channels/${chanID}/webhooks`,
21
+ CHANNEL: (chanID) => `${Endpoints.CHANNELS}/${chanID}`,
22
+ CHANNEL_BULK_DELETE: (chanID) => `${Endpoints.CHANNEL_MESSAGES(chanID)}/bulk-delete`,
23
+ CHANNEL_INVITES: (chanID) => `${Endpoints.CHANNEL(chanID)}/invites`,
24
+ CHANNEL_MESSAGE: (chanID, msgID) => `${Endpoints.CHANNEL_MESSAGES(chanID)}/${msgID}`,
25
+ CHANNEL_MESSAGE_CROSSPOST: (chanID, msgID) => `${Endpoints.CHANNEL_MESSAGE(chanID, msgID)}/crosspost`,
26
+ CHANNEL_MESSAGE_REACTION: (chanID, msgID, reaction) => `${Endpoints.CHANNEL_MESSAGE_REACTIONS(chanID, msgID)}/${reaction}`,
27
+ CHANNEL_MESSAGE_REACTION_USER: (chanID, msgID, reaction, userID) => `${Endpoints.CHANNEL_MESSAGE_REACTION(chanID, msgID, reaction)}/${userID}`,
28
+ CHANNEL_MESSAGE_REACTIONS: (chanID, msgID) => `${Endpoints.CHANNEL_MESSAGE(chanID, msgID)}/reactions`,
29
+ CHANNEL_MESSAGE_THREADS: (chanID, msgID) => `${Endpoints.CHANNEL_MESSAGE(chanID, msgID)}/threads`,
30
+ CHANNEL_MESSAGES: (chanID) => `${Endpoints.CHANNEL(chanID)}/messages`,
31
+ CHANNEL_PERMISSION: (chanID, permID) => `${Endpoints.CHANNEL_PERMISSIONS(chanID)}/${permID}`,
32
+ CHANNEL_PERMISSIONS: (chanID) => `${Endpoints.CHANNEL(chanID)}/permissions`,
33
+ CHANNEL_PIN: (chanID, msgID) => `${Endpoints.CHANNEL_PINS(chanID)}/${msgID}`,
34
+ CHANNEL_PINS: (chanID) => `${Endpoints.CHANNEL(chanID)}/pins`,
35
+ CHANNEL_RECIPIENT: (chanID, userID) => `${Endpoints.CHANNEL(chanID)}/recipients/${userID}`,
36
+ CHANNEL_THREADS: (chanID) => `${Endpoints.CHANNEL(chanID)}/threads`,
37
+ CHANNEL_THREAD_MEMBER: (chanID, memberID) => `${Endpoints.CHANNEL_THREAD_MEMBERS(chanID)}/${memberID}`,
38
+ CHANNEL_THREAD_MEMBERS: (chanID) => `${Endpoints.CHANNEL(chanID)}/thread-members`,
39
+ CHANNEL_THREADS_ARCHIVED_PRIVATE: (chanID) => `${Endpoints.CHANNEL_THREADS(chanID)}/archived/private`,
40
+ CHANNEL_THREADS_ARCHIVED_PRIVATE_USER: (chanID) => `${Endpoints.CHANNEL(chanID)}/users/@me/threads/archived/private`,
41
+ CHANNEL_THREADS_ARCHIVED_PUBLIC: (chanID) => `${Endpoints.CHANNEL_THREADS(chanID)}/archived/public`,
42
+ CHANNEL_TYPING: (chanID) => `${Endpoints.CHANNEL(chanID)}/typing`,
43
+ CHANNEL_WEBHOOKS: (chanID) => `${Endpoints.CHANNEL(chanID)}/webhooks`,
44
44
  CHANNELS: "/channels",
45
45
  GATEWAY: "/gateway",
46
46
  GATEWAY_BOT: "/gateway/bot",
47
- GUILD: (guildID) => `/guilds/${guildID}`,
48
- GUILD_APPLICATION_COMMAND_PERMISSIONS: (appID, guildID) => `/applications/${appID}/guilds/${guildID}/commands/permissions`,
49
- GUILD_AUDIT_LOGS: (guildID) => `/guilds/${guildID}/audit-logs`,
50
- GUILD_BAN: (guildID, memberID) => `/guilds/${guildID}/bans/${memberID}`,
51
- GUILD_BANS: (guildID) => `/guilds/${guildID}/bans`,
52
- GUILD_CHANNELS: (guildID) => `/guilds/${guildID}/channels`,
53
- GUILD_EMOJI: (guildID, emojiID) => `/guilds/${guildID}/emojis/${emojiID}`,
54
- GUILD_EMOJIS: (guildID) => `/guilds/${guildID}/emojis`,
55
- GUILD_INVITES: (guildID) => `/guilds/${guildID}/invites`,
56
- GUILD_INTEGRATION: (guildID, integrationID) => `/guilds/${guildID}/integrations/${integrationID}`,
57
- GUILD_INTEGRATIONS: (guildID) => `/guilds/${guildID}/integrations`,
58
- GUILD_MEMBER: (guildID, memberID) => `/guilds/${guildID}/members/${memberID}`,
59
- GUILD_MEMBER_NICK: (guildID, memberID) => `/guilds/${guildID}/members/${memberID}/nick`,
60
- GUILD_MEMBER_ROLE: (guildID, memberID, roleID) => `/guilds/${guildID}/members/${memberID}/roles/${roleID}`,
61
- GUILD_MEMBERS: (guildID) => `/guilds/${guildID}/members`,
62
- GUILD_MEMBERS_SEARCH: (guildID) => `/guilds/${guildID}/members/search`,
63
- GUILD_PREVIEW: (guildID) => `/guilds/${guildID}/preview`,
64
- GUILD_PRUNE: (guildID) => `/guilds/${guildID}/prune`,
65
- GUILD_ROLE: (guildID, roleID) => `/guilds/${guildID}/roles/${roleID}`,
66
- GUILD_ROLES: (guildID) => `/guilds/${guildID}/roles`,
67
- SCHEDULED_EVENTS: (guildID) => `guilds/${guildID}/scheduled-events`,
68
- SCHEDULED_EVENT: (guildID, eventId) => `guilds/${guildID}/scheduled-events/${eventId}`,
69
- SCHEDULE_EVENT_USERS: (guildID, eventId) => `guilds/${guildID}/scheduled-events/${eventId}/users`,
70
- GUILD_STICKER: (guildID, stickerID) => `/guilds/${guildID}/stickers/${stickerID}`,
71
- GUILD_STICKERS: (guildID) => `/guilds/${guildID}/stickers`,
72
- GUILD_TEMPLATE: (guildID, code) => `/guilds/${guildID}/templates/${code}`,
73
- GUILD_THREADS_ACTIVE: (guildID) => `/guilds/${guildID}/threads/active`,
74
- GUILD_TEMPLATES: (guildID) => `/guilds/${guildID}/templates`,
75
- GUILD_VANITY: (guildID) => `/guilds/${guildID}/vanity-url`,
76
- GUILD_VOICE_REGIONS: (guildID) => `/guilds/${guildID}/regions`,
77
- GUILD_VOICE_STATE_USER: (guildID, memberID) => `/guilds/${guildID}/voice-states/${memberID}`,
78
- GUILD_WEBHOOKS: (guildID) => `/guilds/${guildID}/webhooks`,
79
- GUILD_WELCOME_SCREEN: (guildID) => `/guilds/${guildID}/welcome-screen`,
80
- GUILD_WIDGET: (guildID) => `/guilds/${guildID}/widget.json`,
81
- GUILD_WIDGET_IMAGE: (guildID) => `/guilds/${guildID}/widget.png`,
82
- GUILD_WIDGET_SETTINGS: (guildID) => `/guilds/${guildID}/widget`,
47
+ GUILD: (guildID) => `${Endpoints.GUILDS}/${guildID}`,
48
+ GUILD_AUDIT_LOGS: (guildID) => `${Endpoints.GUILD(guildID)}/audit-logs`,
49
+ GUILD_BAN: (guildID, memberID) => `${Endpoints.GUILD_BANS(guildID)}/${memberID}`,
50
+ GUILD_BANS: (guildID) => `${Endpoints.GUILD(guildID)}/bans`,
51
+ GUILD_CHANNELS: (guildID) => `${Endpoints.GUILD(guildID)}/channels`,
52
+ GUILD_EMOJI: (guildID, emojiID) => `${Endpoints.GUILD_EMOJIS(guildID)}/${emojiID}`,
53
+ GUILD_EMOJIS: (guildID) => `${Endpoints.GUILD(guildID)}/emojis`,
54
+ GUILD_INVITES: (guildID) => `${Endpoints.GUILD(guildID)}/invites`,
55
+ GUILD_INTEGRATION: (guildID, integrationID) => `${Endpoints.GUILD_INTEGRATIONS(guildID)}/${integrationID}`,
56
+ GUILD_INTEGRATIONS: (guildID) => `${Endpoints.GUILD(guildID)}/integrations`,
57
+ GUILD_MEMBER: (guildID, memberID) => `${Endpoints.GUILD_MEMBERS(guildID)}/${memberID}`,
58
+ GUILD_MEMBER_ROLE: (guildID, memberID, roleID) => `${Endpoints.GUILD_MEMBER(guildID, memberID)}/roles/${roleID}`,
59
+ GUILD_MEMBERS: (guildID) => `${Endpoints.GUILD(guildID)}/members`,
60
+ GUILD_MEMBERS_SEARCH: (guildID) => `${Endpoints.GUILD_MEMBERS(guildID)}/search`,
61
+ GUILD_PREVIEW: (guildID) => `${Endpoints.GUILD(guildID)}/preview`,
62
+ GUILD_PRUNE: (guildID) => `${Endpoints.GUILD(guildID)}/prune`,
63
+ GUILD_ROLE: (guildID, roleID) => `${Endpoints.GUILD_ROLES(guildID)}/${roleID}`,
64
+ GUILD_ROLES: (guildID) => `${Endpoints.GUILD(guildID)}/roles`,
65
+ GUILD_SCHEDULED_EVENTS: (guildID) => `${Endpoints.GUILD(guildID)}/scheduled-events`,
66
+ GUILD_SCHEDULED_EVENT: (guildID, eventId) => `${Endpoints.GUILD_SCHEDULED_EVENTS(guildID)}/${eventId}`,
67
+ GUILD_SCHEDULED_EVENT_USERS: (guildID, eventId) => `${Endpoints.GUILD_SCHEDULED_EVENT(guildID, eventId)}/users`,
68
+ GUILD_STICKER: (guildID, stickerID) => `${Endpoints.GUILD_STICKERS(guildID)}/${stickerID}`,
69
+ GUILD_STICKERS: (guildID) => `${Endpoints.GUILD(guildID)}/stickers`,
70
+ GUILD_TEMPLATE: (guildID, code) => `${Endpoints.GUILD_TEMPLATES(guildID)}/${code}`,
71
+ GUILD_THREADS_ACTIVE: (guildID) => `${Endpoints.GUILD(guildID)}/threads/active`,
72
+ GUILD_TEMPLATES: (guildID) => `${Endpoints.GUILD(guildID)}/templates`,
73
+ GUILD_VANITY: (guildID) => `${Endpoints.GUILD(guildID)}/vanity-url`,
74
+ GUILD_VOICE_REGIONS: (guildID) => `${Endpoints.GUILD(guildID)}/regions`,
75
+ GUILD_VOICE_STATE_USER: (guildID, memberID) => `${Endpoints.GUILD(guildID)}/voice-states/${memberID}`,
76
+ GUILD_WEBHOOKS: (guildID) => `${Endpoints.GUILD(guildID)}/webhooks`,
77
+ GUILD_WELCOME_SCREEN: (guildID) => `${Endpoints.GUILD(guildID)}/welcome-screen`,
78
+ GUILD_WIDGET: (guildID) => `${Endpoints.GUILD(guildID)}/widget.json`,
79
+ GUILD_WIDGET_SETTINGS: (guildID) => `${Endpoints.GUILD(guildID)}/widget`,
83
80
  GUILDS: "/guilds",
84
81
  INTERACTION_CALLBACK: (interactionID, token) => `/interactions/${interactionID}/${token}/callback`,
85
82
  INVITE: (inviteID) => `/invite/${inviteID}`,
86
83
  OAUTH2_APPLICATION: (appID) => `/oauth2/applications/${appID}`,
87
- STAGE_INSTANCE_CHANNEL: (chanID) => `/stage-instances/${chanID}`,
84
+ STAGE_INSTANCE_CHANNEL: (chanID) => `${Endpoints.STAGE_INSTANCES}/${chanID}`,
88
85
  STAGE_INSTANCES: "/stage-instances",
89
86
  STICKER: (stickerID) => `/stickers/${stickerID}`,
90
87
  TEMPLATE: (code) => `/guilds/templates/${code}`,
91
- USER: (userID) => `/users/${userID}`,
92
- USER_CHANNELS: (userID) => `/users/${userID}/channels`,
93
- USER_GUILD: (userID, guildID) => `/users/${userID}/guilds/${guildID}`,
94
- USER_GUILDS: (userID) => `/users/${userID}/guilds`,
88
+ USER: (userID) => `${Endpoints.USERS}/${userID}`,
89
+ USER_CHANNELS: (userID) => `${Endpoints.USER(userID)}/channels`,
90
+ USER_GUILD: (userID, guildID) => `${Endpoints.USER_GUILDS(userID)}/${guildID}`,
91
+ USER_GUILDS: (userID) => `${Endpoints.USER(userID)}/guilds`,
95
92
  USERS: "/users",
96
93
  VOICE_REGIONS: "/voice/regions",
97
94
  WEBHOOK: (hookID) => `/webhooks/${hookID}`,
98
- WEBHOOK_TOKEN: (hookID, token) => `/webhooks/${hookID}/${token}`,
99
- WEBHOOK_TOKEN_GITHUB: (hookID, token) => `/webhooks/${hookID}/${token}/github`,
95
+ WEBHOOK_TOKEN: (hookID, token) => `${Endpoints.WEBHOOK(hookID)}/${token}`,
96
+ WEBHOOK_TOKEN_GITHUB: (hookID, token) => `${Endpoints.WEBHOOK_TOKEN(hookID, token)}/github`,
100
97
  WEBHOOK_TOKEN_MESSAGE: (hookID, token, msgID) => `/webhooks/${hookID}/${token}/messages/${msgID}`,
101
- WEBHOOK_TOKEN_SLACK: (hookID, token) => `/webhooks/${hookID}/${token}/slack`,
98
+ WEBHOOK_TOKEN_SLACK: (hookID, token) => `${Endpoints.WEBHOOK_TOKEN(hookID, token)}/slack`,
102
99
  };
100
+ module.exports = Endpoints;
@@ -32,9 +32,7 @@ class Ratelimiter {
32
32
  }
33
33
  };
34
34
  this._timeoutDuration = 1000;
35
- this._timeout = setInterval(() => {
36
- limiter._timeoutFN();
37
- }, limiter._timeoutDuration);
35
+ this._timeout = setInterval(() => { limiter._timeoutFN(); }, limiter._timeoutDuration);
38
36
  }
39
37
  /**
40
38
  * Returns a key for saving ratelimits for routes
@@ -47,9 +45,8 @@ class Ratelimiter {
47
45
  let route = url.replace(/\/([a-z-]+)\/(?:\d+)/g, function (match, p) {
48
46
  return p === "channels" || p === "guilds" || p === "webhooks" ? match : `/${p}/:id`;
49
47
  }).replace(/\/reactions\/[^/]+/g, "/reactions/:id").replace(/^\/webhooks\/(\d+)\/[A-Za-z0-9-_]{64,}/, "/webhooks/$1/:token");
50
- if (method.toUpperCase() === "DELETE" && route.endsWith("/messages/:id")) { // Delete Messsage endpoint has its own ratelimit
51
- route = method + route;
52
- }
48
+ if (method.toUpperCase() === "DELETE" && route.endsWith("/messages/:id"))
49
+ route = method + route; // Delete Messsage endpoint has its own ratelimit
53
50
  return route;
54
51
  }
55
52
  /**
@@ -60,9 +57,8 @@ class Ratelimiter {
60
57
  */
61
58
  queue(fn, url, method) {
62
59
  const routeKey = this.routify(url, method);
63
- if (!this.buckets[routeKey]) {
60
+ if (!this.buckets[routeKey])
64
61
  this.buckets[routeKey] = new LocalBucket_1.default(this);
65
- }
66
62
  this.buckets[routeKey].queue(fn);
67
63
  }
68
64
  }
@@ -51,7 +51,7 @@ declare class RequestHandler extends EventEmitter {
51
51
  baseHost: string;
52
52
  baseURL: string;
53
53
  headers: {
54
- Authorization: string;
54
+ Authorization?: string;
55
55
  "User-Agent": string;
56
56
  };
57
57
  };
@@ -64,7 +64,7 @@ declare class RequestHandler extends EventEmitter {
64
64
  * @param options options
65
65
  */
66
66
  constructor(ratelimiter: import("./Ratelimiter"), options: {
67
- token: string;
67
+ token?: string;
68
68
  baseHost: string;
69
69
  });
70
70
  /**
@@ -28,18 +28,14 @@ class DiscordAPIError extends Error {
28
28
  if (k === "message")
29
29
  continue;
30
30
  const newKey = key ? (isNaN(Number(k)) ? `${key}.${k}` : `${key}[${k}]`) : k;
31
- if (v._errors) {
31
+ if (v._errors)
32
32
  messages.push(`${newKey}: ${v._errors.map(e => e.message).join(" ")}`);
33
- }
34
- else if (v.code || v.message) {
33
+ else if (v.code || v.message)
35
34
  messages.push(`${v.code ? `${v.code}: ` : ""}${v.message}`.trim());
36
- }
37
- else if (typeof v === "string") {
35
+ else if (typeof v === "string")
38
36
  messages.push(v);
39
- }
40
- else {
37
+ else
41
38
  messages = messages.concat(this.flattenErrors(v, newKey));
42
- }
43
39
  }
44
40
  return messages;
45
41
  }
@@ -60,11 +56,12 @@ class RequestHandler extends events_1.EventEmitter {
60
56
  baseHost: Endpoints_1.default.BASE_HOST,
61
57
  baseURL: Endpoints_1.default.BASE_URL,
62
58
  headers: {
63
- Authorization: options.token,
64
- "User-Agent": `DiscordBot (https://github.com/DasWolke/SnowTransfer, ${version})`
59
+ "User-Agent": `Discordbot (https://github.com/DasWolke/SnowTransfer, ${version}) Node.js/${process.version}`
65
60
  }
66
61
  };
67
- Object.assign(this.options, options);
62
+ if (options.token)
63
+ this.options.headers.Authorization = options.token;
64
+ this.options.baseHost = options.baseHost;
68
65
  this.apiURL = this.options.baseHost + Endpoints_1.default.BASE_URL;
69
66
  this.latency = 500;
70
67
  }
@@ -88,12 +85,10 @@ class RequestHandler extends events_1.EventEmitter {
88
85
  try {
89
86
  this.emit("request", reqID, { endpoint, method, dataType, data });
90
87
  let request;
91
- if (dataType == "json") {
88
+ if (dataType == "json")
92
89
  request = await this._request(endpoint, method, data, (method === "get" || endpoint.includes("/bans") || endpoint.includes("/prune")), amount);
93
- }
94
- else if (dataType == "multipart") {
90
+ else if (dataType == "multipart")
95
91
  request = await this._multiPartRequest(endpoint, method, data, amount);
96
- }
97
92
  else {
98
93
  const e = new Error("Forbidden dataType. Use json or multipart");
99
94
  e.stack = stack;
@@ -123,9 +118,8 @@ class RequestHandler extends events_1.EventEmitter {
123
118
  }
124
119
  return res(b);
125
120
  }
126
- else {
121
+ else
127
122
  return res(undefined);
128
- }
129
123
  }
130
124
  catch (error) {
131
125
  if (error && error.stack)
@@ -151,15 +145,12 @@ class RequestHandler extends events_1.EventEmitter {
151
145
  if (bkt.remaining === 0)
152
146
  bkt.resetAt = Date.now() + bkt.reset;
153
147
  }
154
- else {
148
+ else
155
149
  bkt.remaining = 1;
156
- }
157
- if (headers["x-ratelimit-limit"]) {
150
+ if (headers["x-ratelimit-limit"])
158
151
  bkt.limit = parseInt(headers["x-ratelimit-limit"]);
159
- }
160
- if (headers["retry-after"] && !headers["x-ratelimit-global"]) { // The ms precision is not strictly necessary. It always rounds up, which is safe.
161
- bkt.resetAt = Date.now() + (parseInt(headers["retry-after"]) * 1000); // retry-after is in seconds.
162
- }
152
+ if (headers["retry-after"] && !headers["x-ratelimit-global"])
153
+ bkt.resetAt = Date.now() + (parseInt(headers["retry-after"]) * 1000); // The ms precision is not strictly necessary. It always rounds up, which is safe.
163
154
  }
164
155
  /**
165
156
  * Execute a normal json request
@@ -178,9 +169,8 @@ class RequestHandler extends events_1.EventEmitter {
178
169
  delete data.reason;
179
170
  }
180
171
  const req = (0, centra_1.default)(this.apiURL, method).path(endpoint).header({ ...this.options.headers, ...headers });
181
- if (useParams) {
172
+ if (useParams)
182
173
  return req.query(data).send();
183
- }
184
174
  else {
185
175
  if (data && typeof data === "object")
186
176
  req.body(data, "json");
@@ -24,7 +24,7 @@ declare class SnowTransfer {
24
24
  };
25
25
  useRedis: boolean;
26
26
  };
27
- token: string;
27
+ token: string | undefined;
28
28
  channel: ChannelMethods;
29
29
  requestHandler: RequestHandler;
30
30
  user: UserMethods;
@@ -45,7 +45,7 @@ declare class SnowTransfer {
45
45
  * @param token Discord Bot token to use
46
46
  * @param options options
47
47
  */
48
- constructor(token: string, options?: {
48
+ constructor(token?: string, options?: {
49
49
  baseHost?: string;
50
50
  disableEveryone?: boolean;
51
51
  });
@@ -26,20 +26,15 @@ class SnowTransfer {
26
26
  * @param options options
27
27
  */
28
28
  constructor(token, options) {
29
- if (!token || token === "") {
29
+ if (typeof token === "string" && token === "")
30
30
  throw new Error("Missing token");
31
- }
32
- if (!token.startsWith("Bot")) {
31
+ if (token && !token.startsWith("Bot"))
33
32
  token = `Bot ${token}`;
34
- }
35
33
  this.options = { baseHost: Endpoints_1.default.BASE_HOST, disableEveryone: false, sentryOptions: { extra: { snowtransferVersion: version } }, useRedis: false };
36
34
  this.token = token;
37
35
  Object.assign(this.options, options);
38
36
  this.ratelimiter = new Ratelimiter_1.default();
39
- this.requestHandler = new RequestHandler_1.default(this.ratelimiter, {
40
- token: this.token,
41
- baseHost: this.options.baseHost || Endpoints_1.default.BASE_HOST
42
- });
37
+ this.requestHandler = new RequestHandler_1.default(this.ratelimiter, { token: this.token, baseHost: this.options.baseHost || Endpoints_1.default.BASE_HOST });
43
38
  this.channel = new Channels_1.default(this.requestHandler, this.options.disableEveryone);
44
39
  this.user = new Users_1.default(this.requestHandler);
45
40
  this.guildAssets = new GuildAssets_1.default(this.requestHandler);
@@ -22,24 +22,9 @@ declare class AuditLogMethods {
22
22
  * |--------------------|-----------|
23
23
  * | VIEW_AUDIT_LOG | always |
24
24
  */
25
- getAuditLog(guildId: string, data?: GetAuditLogOptions): Promise<import("discord-typings").AuditLogObject>;
26
- }
27
- interface GetAuditLogOptions {
28
- /**
29
- * Filter the audit log with the id of a user
30
- */
31
- user_id?: string;
32
- /**
33
- * [Type](https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events) of the audit log event
34
- */
35
- action_type?: import("discord-typings").AuditLogEventType;
36
- /**
37
- * Filter the audit log before a certain entry id
38
- */
39
- before?: string;
40
- /**
41
- * How many entries are returned (min 1, max 100)
42
- */
43
- limit: number;
25
+ getAuditLog(guildId: string, data?: Partial<Pick<import("discord-typings").AuditLogEntry, "user_id" | "action_type"> & {
26
+ before: import("discord-typings").Snowflake;
27
+ limit: number;
28
+ }>): Promise<import("discord-typings").AuditLog>;
44
29
  }
45
30
  export = AuditLogMethods;