discord-slim
Advanced tools
Comparing version 2.0.0-dev.5 to 2.0.0-dev.6
@@ -43,2 +43,3 @@ "use strict"; | ||
this._lastSequence = 0; | ||
await util_1.Sleep(5000); | ||
} | ||
@@ -59,2 +60,3 @@ const response = await util_1.SafePromise(request_1.Request('GET', '/gateway/bot', this._auth)); | ||
this.emit('disconnect', code); | ||
this._setHeartbeatTimer(); | ||
this._ws.removeAllListeners(); | ||
@@ -154,3 +156,3 @@ this._ws.close(code); | ||
this._intents = intents; | ||
this._wsConnect(); | ||
this._wsConnect(true); | ||
}; | ||
@@ -157,0 +159,0 @@ this.Disconnect = (code) => { |
/// <reference types="node" /> | ||
import { EventEmitter } from 'events'; | ||
import type * as types from './types'; | ||
import type { Events, TargetUserTypes } from './helpers'; | ||
import type * as helpers from './helpers'; | ||
export declare enum Events { | ||
READY = "READY", | ||
RESUMED = "RESUMED", | ||
APPLICATION_COMMAND_CREATE = "APPLICATION_COMMAND_CREATE", | ||
APPLICATION_COMMAND_UPDATE = "APPLICATION_COMMAND_UPDATE", | ||
APPLICATION_COMMAND_DELETE = "APPLICATION_COMMAND_DELETE", | ||
CHANNEL_CREATE = "CHANNEL_CREATE", | ||
CHANNEL_UPDATE = "CHANNEL_UPDATE", | ||
CHANNEL_DELETE = "CHANNEL_DELETE", | ||
CHANNEL_PINS_UPDATE = "CHANNEL_PINS_UPDATE", | ||
GUILD_CREATE = "GUILD_CREATE", | ||
GUILD_UPDATE = "GUILD_UPDATE", | ||
GUILD_DELETE = "GUILD_DELETE", | ||
GUILD_BAN_ADD = "GUILD_BAN_ADD", | ||
GUILD_BAN_REMOVE = "GUILD_BAN_REMOVE", | ||
GUILD_EMOJIS_UPDATE = "GUILD_EMOJIS_UPDATE", | ||
GUILD_INTEGRATIONS_UPDATE = "GUILD_INTEGRATIONS_UPDATE", | ||
GUILD_MEMBER_ADD = "GUILD_MEMBER_ADD", | ||
GUILD_MEMBER_REMOVE = "GUILD_MEMBER_REMOVE", | ||
GUILD_MEMBER_UPDATE = "GUILD_MEMBER_UPDATE", | ||
GUILD_MEMBERS_CHUNK = "GUILD_MEMBERS_CHUNK", | ||
GUILD_ROLE_CREATE = "GUILD_ROLE_CREATE", | ||
GUILD_ROLE_UPDATE = "GUILD_ROLE_UPDATE", | ||
GUILD_ROLE_DELETE = "GUILD_ROLE_DELETE", | ||
INTERACTION_CREATE = "INTERACTION_CREATE", | ||
INVITE_CREATE = "INVITE_CREATE", | ||
INVITE_DELETE = "INVITE_DELETE", | ||
MESSAGE_CREATE = "MESSAGE_CREATE", | ||
MESSAGE_UPDATE = "MESSAGE_UPDATE", | ||
MESSAGE_DELETE = "MESSAGE_DELETE", | ||
MESSAGE_DELETE_BULK = "MESSAGE_DELETE_BULK", | ||
MESSAGE_REACTION_ADD = "MESSAGE_REACTION_ADD", | ||
MESSAGE_REACTION_REMOVE = "MESSAGE_REACTION_REMOVE", | ||
MESSAGE_REACTION_REMOVE_ALL = "MESSAGE_REACTION_REMOVE_ALL", | ||
MESSAGE_REACTION_REMOVE_EMOJI = "MESSAGE_REACTION_REMOVE_EMOJI", | ||
PRESENCE_UPDATE = "PRESENCE_UPDATE", | ||
TYPING_START = "TYPING_START", | ||
USER_UPDATE = "USER_UPDATE", | ||
VOICE_STATE_UPDATE = "VOICE_STATE_UPDATE", | ||
VOICE_SERVER_UPDATE = "VOICE_SERVER_UPDATE", | ||
WEBHOOKS_UPDATE = "WEBHOOKS_UPDATE" | ||
} | ||
export declare type GenericEvents = { | ||
@@ -101,3 +143,3 @@ [Events.READY]: { | ||
target_user?: types.User; | ||
target_user_type?: TargetUserTypes; | ||
target_user_type?: helpers.TargetUserTypes; | ||
temporary: boolean; | ||
@@ -149,9 +191,3 @@ uses: number; | ||
}; | ||
[Events.PRESENCE_UPDATE]: { | ||
user: types.User; | ||
guild_id: string; | ||
status: string; | ||
activities: types.Activity[]; | ||
client_status: types.ClientStatus; | ||
}; | ||
[Events.PRESENCE_UPDATE]: types.Presence; | ||
[Events.TYPING_START]: { | ||
@@ -158,0 +194,0 @@ channel_id: string; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.EventHandler = void 0; | ||
exports.EventHandler = exports.Events = void 0; | ||
const events_1 = require("events"); | ||
var Events; | ||
(function (Events) { | ||
Events["READY"] = "READY"; | ||
Events["RESUMED"] = "RESUMED"; | ||
Events["APPLICATION_COMMAND_CREATE"] = "APPLICATION_COMMAND_CREATE"; | ||
Events["APPLICATION_COMMAND_UPDATE"] = "APPLICATION_COMMAND_UPDATE"; | ||
Events["APPLICATION_COMMAND_DELETE"] = "APPLICATION_COMMAND_DELETE"; | ||
Events["CHANNEL_CREATE"] = "CHANNEL_CREATE"; | ||
Events["CHANNEL_UPDATE"] = "CHANNEL_UPDATE"; | ||
Events["CHANNEL_DELETE"] = "CHANNEL_DELETE"; | ||
Events["CHANNEL_PINS_UPDATE"] = "CHANNEL_PINS_UPDATE"; | ||
Events["GUILD_CREATE"] = "GUILD_CREATE"; | ||
Events["GUILD_UPDATE"] = "GUILD_UPDATE"; | ||
Events["GUILD_DELETE"] = "GUILD_DELETE"; | ||
Events["GUILD_BAN_ADD"] = "GUILD_BAN_ADD"; | ||
Events["GUILD_BAN_REMOVE"] = "GUILD_BAN_REMOVE"; | ||
Events["GUILD_EMOJIS_UPDATE"] = "GUILD_EMOJIS_UPDATE"; | ||
Events["GUILD_INTEGRATIONS_UPDATE"] = "GUILD_INTEGRATIONS_UPDATE"; | ||
Events["GUILD_MEMBER_ADD"] = "GUILD_MEMBER_ADD"; | ||
Events["GUILD_MEMBER_REMOVE"] = "GUILD_MEMBER_REMOVE"; | ||
Events["GUILD_MEMBER_UPDATE"] = "GUILD_MEMBER_UPDATE"; | ||
Events["GUILD_MEMBERS_CHUNK"] = "GUILD_MEMBERS_CHUNK"; | ||
Events["GUILD_ROLE_CREATE"] = "GUILD_ROLE_CREATE"; | ||
Events["GUILD_ROLE_UPDATE"] = "GUILD_ROLE_UPDATE"; | ||
Events["GUILD_ROLE_DELETE"] = "GUILD_ROLE_DELETE"; | ||
Events["INTERACTION_CREATE"] = "INTERACTION_CREATE"; | ||
Events["INVITE_CREATE"] = "INVITE_CREATE"; | ||
Events["INVITE_DELETE"] = "INVITE_DELETE"; | ||
Events["MESSAGE_CREATE"] = "MESSAGE_CREATE"; | ||
Events["MESSAGE_UPDATE"] = "MESSAGE_UPDATE"; | ||
Events["MESSAGE_DELETE"] = "MESSAGE_DELETE"; | ||
Events["MESSAGE_DELETE_BULK"] = "MESSAGE_DELETE_BULK"; | ||
Events["MESSAGE_REACTION_ADD"] = "MESSAGE_REACTION_ADD"; | ||
Events["MESSAGE_REACTION_REMOVE"] = "MESSAGE_REACTION_REMOVE"; | ||
Events["MESSAGE_REACTION_REMOVE_ALL"] = "MESSAGE_REACTION_REMOVE_ALL"; | ||
Events["MESSAGE_REACTION_REMOVE_EMOJI"] = "MESSAGE_REACTION_REMOVE_EMOJI"; | ||
Events["PRESENCE_UPDATE"] = "PRESENCE_UPDATE"; | ||
Events["TYPING_START"] = "TYPING_START"; | ||
Events["USER_UPDATE"] = "USER_UPDATE"; | ||
Events["VOICE_STATE_UPDATE"] = "VOICE_STATE_UPDATE"; | ||
Events["VOICE_SERVER_UPDATE"] = "VOICE_SERVER_UPDATE"; | ||
Events["WEBHOOKS_UPDATE"] = "WEBHOOKS_UPDATE"; | ||
})(Events = exports.Events || (exports.Events = {})); | ||
class EventHandler { | ||
@@ -6,0 +49,0 @@ constructor() { |
@@ -19,44 +19,2 @@ export declare const HOST: "https://discord.com", API: "https://discord.com/api", API_VERSION = 8, API_PATH: "https://discord.com/api/v8", CDN = "https://cdn.discordapp.com"; | ||
} | ||
export declare enum Events { | ||
READY = "READY", | ||
RESUMED = "RESUMED", | ||
APPLICATION_COMMAND_CREATE = "APPLICATION_COMMAND_CREATE", | ||
APPLICATION_COMMAND_UPDATE = "APPLICATION_COMMAND_UPDATE", | ||
APPLICATION_COMMAND_DELETE = "APPLICATION_COMMAND_DELETE", | ||
CHANNEL_CREATE = "CHANNEL_CREATE", | ||
CHANNEL_UPDATE = "CHANNEL_UPDATE", | ||
CHANNEL_DELETE = "CHANNEL_DELETE", | ||
CHANNEL_PINS_UPDATE = "CHANNEL_PINS_UPDATE", | ||
GUILD_CREATE = "GUILD_CREATE", | ||
GUILD_UPDATE = "GUILD_UPDATE", | ||
GUILD_DELETE = "GUILD_DELETE", | ||
GUILD_BAN_ADD = "GUILD_BAN_ADD", | ||
GUILD_BAN_REMOVE = "GUILD_BAN_REMOVE", | ||
GUILD_EMOJIS_UPDATE = "GUILD_EMOJIS_UPDATE", | ||
GUILD_INTEGRATIONS_UPDATE = "GUILD_INTEGRATIONS_UPDATE", | ||
GUILD_MEMBER_ADD = "GUILD_MEMBER_ADD", | ||
GUILD_MEMBER_REMOVE = "GUILD_MEMBER_REMOVE", | ||
GUILD_MEMBER_UPDATE = "GUILD_MEMBER_UPDATE", | ||
GUILD_MEMBERS_CHUNK = "GUILD_MEMBERS_CHUNK", | ||
GUILD_ROLE_CREATE = "GUILD_ROLE_CREATE", | ||
GUILD_ROLE_UPDATE = "GUILD_ROLE_UPDATE", | ||
GUILD_ROLE_DELETE = "GUILD_ROLE_DELETE", | ||
INTERACTION_CREATE = "INTERACTION_CREATE", | ||
INVITE_CREATE = "INVITE_CREATE", | ||
INVITE_DELETE = "INVITE_DELETE", | ||
MESSAGE_CREATE = "MESSAGE_CREATE", | ||
MESSAGE_UPDATE = "MESSAGE_UPDATE", | ||
MESSAGE_DELETE = "MESSAGE_DELETE", | ||
MESSAGE_DELETE_BULK = "MESSAGE_DELETE_BULK", | ||
MESSAGE_REACTION_ADD = "MESSAGE_REACTION_ADD", | ||
MESSAGE_REACTION_REMOVE = "MESSAGE_REACTION_REMOVE", | ||
MESSAGE_REACTION_REMOVE_ALL = "MESSAGE_REACTION_REMOVE_ALL", | ||
MESSAGE_REACTION_REMOVE_EMOJI = "MESSAGE_REACTION_REMOVE_EMOJI", | ||
PRESENCE_UPDATE = "PRESENCE_UPDATE", | ||
TYPING_START = "TYPING_START", | ||
USER_UPDATE = "USER_UPDATE", | ||
VOICE_STATE_UPDATE = "VOICE_STATE_UPDATE", | ||
VOICE_SERVER_UPDATE = "VOICE_SERVER_UPDATE", | ||
WEBHOOKS_UPDATE = "WEBHOOKS_UPDATE" | ||
} | ||
export declare enum Permissions { | ||
@@ -63,0 +21,0 @@ NO_PERMISSIONS = 0, |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.InteractionResponseFlags = exports.InteractionResponseTypes = exports.InteractionTypes = exports.ApplicationCommandOptionTypes = exports.ActivityFlags = exports.WebhookTypes = exports.VisibilityTypes = exports.PremiumTypes = exports.UserFlags = exports.WidgetStyleOptions = exports.ActivityTypes = exports.TargetUserTypes = exports.PremiumTier = exports.IntegrationExpireBehaviors = exports.GuildFeatures = exports.SystemChannelFlags = exports.VerificationLevel = exports.MFA_Level = exports.ExplicitContentFilterLevel = exports.DefaultMessageNotificationLevel = exports.AllowedMentionTypes = exports.PermissionsOverwriteTypes = exports.MessageStickerFormatTypes = exports.MessageFlags = exports.MessageActivityTypes = exports.MessageTypes = exports.ChannelTypes = exports.AuditLogEvents = exports.Intents = exports.Permissions = exports.Events = exports.OPCodes = exports.TokenTypes = exports.CDN = exports.API_PATH = exports.API_VERSION = exports.API = exports.HOST = void 0; | ||
exports.InteractionResponseFlags = exports.InteractionResponseTypes = exports.InteractionTypes = exports.ApplicationCommandOptionTypes = exports.ActivityFlags = exports.WebhookTypes = exports.VisibilityTypes = exports.PremiumTypes = exports.UserFlags = exports.WidgetStyleOptions = exports.ActivityTypes = exports.TargetUserTypes = exports.PremiumTier = exports.IntegrationExpireBehaviors = exports.GuildFeatures = exports.SystemChannelFlags = exports.VerificationLevel = exports.MFA_Level = exports.ExplicitContentFilterLevel = exports.DefaultMessageNotificationLevel = exports.AllowedMentionTypes = exports.PermissionsOverwriteTypes = exports.MessageStickerFormatTypes = exports.MessageFlags = exports.MessageActivityTypes = exports.MessageTypes = exports.ChannelTypes = exports.AuditLogEvents = exports.Intents = exports.Permissions = exports.OPCodes = exports.TokenTypes = exports.CDN = exports.API_PATH = exports.API_VERSION = exports.API = exports.HOST = void 0; | ||
exports.HOST = 'https://discord.com', exports.API = `${exports.HOST}/api`, exports.API_VERSION = 8, exports.API_PATH = `${exports.API}/v${exports.API_VERSION}`, exports.CDN = 'https://cdn.discordapp.com'; | ||
@@ -24,45 +24,2 @@ var TokenTypes; | ||
})(OPCodes = exports.OPCodes || (exports.OPCodes = {})); | ||
var Events; | ||
(function (Events) { | ||
Events["READY"] = "READY"; | ||
Events["RESUMED"] = "RESUMED"; | ||
Events["APPLICATION_COMMAND_CREATE"] = "APPLICATION_COMMAND_CREATE"; | ||
Events["APPLICATION_COMMAND_UPDATE"] = "APPLICATION_COMMAND_UPDATE"; | ||
Events["APPLICATION_COMMAND_DELETE"] = "APPLICATION_COMMAND_DELETE"; | ||
Events["CHANNEL_CREATE"] = "CHANNEL_CREATE"; | ||
Events["CHANNEL_UPDATE"] = "CHANNEL_UPDATE"; | ||
Events["CHANNEL_DELETE"] = "CHANNEL_DELETE"; | ||
Events["CHANNEL_PINS_UPDATE"] = "CHANNEL_PINS_UPDATE"; | ||
Events["GUILD_CREATE"] = "GUILD_CREATE"; | ||
Events["GUILD_UPDATE"] = "GUILD_UPDATE"; | ||
Events["GUILD_DELETE"] = "GUILD_DELETE"; | ||
Events["GUILD_BAN_ADD"] = "GUILD_BAN_ADD"; | ||
Events["GUILD_BAN_REMOVE"] = "GUILD_BAN_REMOVE"; | ||
Events["GUILD_EMOJIS_UPDATE"] = "GUILD_EMOJIS_UPDATE"; | ||
Events["GUILD_INTEGRATIONS_UPDATE"] = "GUILD_INTEGRATIONS_UPDATE"; | ||
Events["GUILD_MEMBER_ADD"] = "GUILD_MEMBER_ADD"; | ||
Events["GUILD_MEMBER_REMOVE"] = "GUILD_MEMBER_REMOVE"; | ||
Events["GUILD_MEMBER_UPDATE"] = "GUILD_MEMBER_UPDATE"; | ||
Events["GUILD_MEMBERS_CHUNK"] = "GUILD_MEMBERS_CHUNK"; | ||
Events["GUILD_ROLE_CREATE"] = "GUILD_ROLE_CREATE"; | ||
Events["GUILD_ROLE_UPDATE"] = "GUILD_ROLE_UPDATE"; | ||
Events["GUILD_ROLE_DELETE"] = "GUILD_ROLE_DELETE"; | ||
Events["INTERACTION_CREATE"] = "INTERACTION_CREATE"; | ||
Events["INVITE_CREATE"] = "INVITE_CREATE"; | ||
Events["INVITE_DELETE"] = "INVITE_DELETE"; | ||
Events["MESSAGE_CREATE"] = "MESSAGE_CREATE"; | ||
Events["MESSAGE_UPDATE"] = "MESSAGE_UPDATE"; | ||
Events["MESSAGE_DELETE"] = "MESSAGE_DELETE"; | ||
Events["MESSAGE_DELETE_BULK"] = "MESSAGE_DELETE_BULK"; | ||
Events["MESSAGE_REACTION_ADD"] = "MESSAGE_REACTION_ADD"; | ||
Events["MESSAGE_REACTION_REMOVE"] = "MESSAGE_REACTION_REMOVE"; | ||
Events["MESSAGE_REACTION_REMOVE_ALL"] = "MESSAGE_REACTION_REMOVE_ALL"; | ||
Events["MESSAGE_REACTION_REMOVE_EMOJI"] = "MESSAGE_REACTION_REMOVE_EMOJI"; | ||
Events["PRESENCE_UPDATE"] = "PRESENCE_UPDATE"; | ||
Events["TYPING_START"] = "TYPING_START"; | ||
Events["USER_UPDATE"] = "USER_UPDATE"; | ||
Events["VOICE_STATE_UPDATE"] = "VOICE_STATE_UPDATE"; | ||
Events["VOICE_SERVER_UPDATE"] = "VOICE_SERVER_UPDATE"; | ||
Events["WEBHOOKS_UPDATE"] = "WEBHOOKS_UPDATE"; | ||
})(Events = exports.Events || (exports.Events = {})); | ||
var Permissions; | ||
@@ -69,0 +26,0 @@ (function (Permissions) { |
export { Client } from './client'; | ||
export { Authorization } from './request'; | ||
export { Events } from './eventhandler'; | ||
export * as Actions from './actions'; | ||
@@ -4,0 +5,0 @@ export * as Helpers from './helpers'; |
@@ -22,3 +22,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Helpers = exports.Actions = exports.Authorization = exports.Client = void 0; | ||
exports.Helpers = exports.Actions = exports.Events = exports.Authorization = exports.Client = void 0; | ||
var client_1 = require("./client"); | ||
@@ -28,3 +28,5 @@ Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_1.Client; } }); | ||
Object.defineProperty(exports, "Authorization", { enumerable: true, get: function () { return request_1.Authorization; } }); | ||
var eventhandler_1 = require("./eventhandler"); | ||
Object.defineProperty(exports, "Events", { enumerable: true, get: function () { return eventhandler_1.Events; } }); | ||
exports.Actions = __importStar(require("./actions")); | ||
exports.Helpers = __importStar(require("./helpers")); |
@@ -18,3 +18,2 @@ import { TokenTypes } from './helpers'; | ||
rateLimit?: { | ||
retryTimeout?: number; | ||
retryCount?: number; | ||
@@ -21,0 +20,0 @@ callback?: (response: { |
@@ -10,3 +10,3 @@ "use strict"; | ||
const helpers_1 = require("./helpers"); | ||
const DEFAULT_RETRY_TIMEOUT = 1000, DEFAULT_CONNECTION_TIMEOUT = 5000, DEFAULT_RETRY_COUNT = 5; | ||
const DEFAULT_CONNECTION_TIMEOUT = 5000, DEFAULT_RETRY_COUNT = 5; | ||
class Authorization { | ||
@@ -46,7 +46,7 @@ constructor(token, type) { | ||
return new Promise((resolve, reject) => { | ||
var _a, _b, _c, _d; | ||
const URL = helpers_1.API_PATH + endpoint, retryTimeout = (_b = (_a = options === null || options === void 0 ? void 0 : options.rateLimit) === null || _a === void 0 ? void 0 : _a.retryTimeout) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_TIMEOUT, retryCount = (_d = (_c = options === null || options === void 0 ? void 0 : options.rateLimit) === null || _c === void 0 ? void 0 : _c.retryCount) !== null && _d !== void 0 ? _d : DEFAULT_RETRY_COUNT; | ||
var _a, _b; | ||
const URL = helpers_1.API_PATH + endpoint, retryCount = (_b = (_a = options === null || options === void 0 ? void 0 : options.rateLimit) === null || _a === void 0 ? void 0 : _a.retryCount) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_COUNT; | ||
let attempts = 0; | ||
const RequestResult = (result) => { | ||
var _a, _b, _c; | ||
var _a, _b; | ||
const code = result.code; | ||
@@ -61,4 +61,4 @@ if ((code >= 200) && (code < 300)) { | ||
(_b = (_a = options === null || options === void 0 ? void 0 : options.rateLimit) === null || _a === void 0 ? void 0 : _a.callback) === null || _b === void 0 ? void 0 : _b.call(_a, response, attempts); | ||
if (attempts < retryCount) | ||
setTimeout(TryRequest, (_c = Math.ceil(Number(response.retry_after) * 1000)) !== null && _c !== void 0 ? _c : retryTimeout); | ||
if (response.retry_after && (attempts < retryCount)) | ||
setTimeout(TryRequest, Math.ceil(Number(response.retry_after) * 1000)); | ||
else | ||
@@ -65,0 +65,0 @@ RequestError({ code, response }); |
@@ -553,6 +553,9 @@ import type * as helpers from './helpers'; | ||
export declare type Presence = { | ||
since: number | null; | ||
activities: Activity[] | null; | ||
status: string; | ||
afk: boolean; | ||
user: { | ||
id: string; | ||
}; | ||
guild_id?: string; | ||
status?: 'online' | 'dnd' | 'idle' | 'offline'; | ||
activities?: Activity[]; | ||
client_status?: ClientStatus; | ||
}; | ||
@@ -559,0 +562,0 @@ export declare type Activity = { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SafePromise = exports.SafeJsonParse = void 0; | ||
exports.Sleep = exports.SafePromise = exports.SafeJsonParse = void 0; | ||
const SafeJsonParse = (data) => { | ||
@@ -15,1 +15,3 @@ if (data != null) | ||
exports.SafePromise = SafePromise; | ||
const Sleep = (time) => new Promise((resolve) => setTimeout(resolve, time)); | ||
exports.Sleep = Sleep; |
{ | ||
"name": "discord-slim", | ||
"version": "2.0.0-dev.5", | ||
"version": "2.0.0-dev.6", | ||
"description": "Lightweight Discord client for Node.js.", | ||
@@ -5,0 +5,0 @@ "author": "Hanabishi", |
@@ -29,3 +29,3 @@ # Discord Slim | ||
```js | ||
const { Client, Authorization, Actions, Helpers } = require('discord-slim'); | ||
const { Client, Authorization, Events, Actions, Helpers } = require('discord-slim'); | ||
@@ -50,8 +50,6 @@ // Basic setup to control client operation. | ||
// Rate limit behavior configuration. | ||
// This options is not required, but you probably want to care about rate limit. | ||
// This options is not required, but you probably want to care about the rate limit. | ||
rateLimit: { | ||
// Set how many times to retry after hitting rate limit. Default: 5. | ||
retryCount: 1, | ||
// Just fallback timeout option when server not provided 'retry_after' value. Default: 1000 ms. | ||
retryTimeout: 1000, | ||
// Set how many attempts to make due to the rate limit. Default: 5. | ||
retryCount: 5, | ||
// Rate limit hit callback | ||
@@ -61,2 +59,6 @@ callback: (response, attempts) => console.log(`${response.message} Global: ${response.global}. Cooldown: ${response.retry_after} sec. Attempt: ${attempts}.`), | ||
}; | ||
... | ||
client.Connect(authorization, Helpers.Intents.GUILDS | Helpers.Intents.GUILD_MESSAGES); | ||
``` | ||
@@ -66,3 +68,3 @@ | ||
```js | ||
client.events.on(Helpers.Events.MESSAGE_CREATE, (message) => { | ||
client.events.on(Events.MESSAGE_CREATE, (message) => { | ||
if(message.author.id == client.user.id) return; | ||
@@ -78,4 +80,19 @@ if(message.content.toLowerCase().indexOf('hello bot') < 0) return; | ||
}); | ||
``` | ||
client.Connect(authorization, Helpers.Intents.GUILDS | Helpers.Intents.GUILD_MESSAGES); | ||
### Set bot status | ||
```js | ||
client.events.on(Events.READY, () => { | ||
client.UpdateStatus({ | ||
since: 0, | ||
activities: [ | ||
{ | ||
name: 'YOU', | ||
type: Helpers.ActivityTypes.WATCHING, | ||
} | ||
], | ||
afk: false, | ||
status: 'online', | ||
}); | ||
}); | ||
``` | ||
@@ -87,3 +104,3 @@ | ||
// Create a command in your guild(s). | ||
client.events.on(Helpers.Events.GUILD_CREATE, (guild) => { | ||
client.events.on(Events.GUILD_CREATE, (guild) => { | ||
Actions.Application.CreateGuildCommand(client.user.id, guild.id, { | ||
@@ -104,3 +121,3 @@ name: 'echo', | ||
// Respond to interaction event. | ||
client.events.on(Helpers.Events.INTERACTION_CREATE, (interaction) => { | ||
client.events.on(Events.INTERACTION_CREATE, (interaction) => { | ||
if(!(interaction.data && interaction.data.name == 'echo')) return; | ||
@@ -115,4 +132,2 @@ Actions.Application.CreateInteractionResponse(interaction.id, interaction.token, { | ||
}); | ||
client.Connect(authorization, Helpers.Intents.GUILDS); | ||
``` | ||
@@ -119,0 +134,0 @@ |
120780
129
17