lunibee 0.1.0 → 0.1.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.
Files changed (67) hide show
  1. package/README.md +229 -0
  2. package/dist/builders/attachment.d.ts +20 -0
  3. package/dist/builders/commands.d.ts +118 -0
  4. package/dist/builders/components.d.ts +151 -0
  5. package/dist/builders/embed.d.ts +59 -0
  6. package/dist/builders/index.d.ts +5 -0
  7. package/dist/builders/index.js +828 -0
  8. package/dist/builders/index.js.map +13 -0
  9. package/dist/collection/cache.d.ts +37 -0
  10. package/dist/collection/index.d.ts +47 -0
  11. package/dist/collection/index.js +214 -0
  12. package/dist/collection/index.js.map +11 -0
  13. package/dist/core/client-state.d.ts +10 -0
  14. package/dist/core/collector.d.ts +27 -0
  15. package/dist/core/events.d.ts +5 -0
  16. package/dist/core/index.d.ts +111 -0
  17. package/dist/core/index.js +3188 -0
  18. package/dist/core/index.js.map +29 -0
  19. package/dist/core/permissions.d.ts +293 -0
  20. package/dist/formatters/index.d.ts +10 -0
  21. package/dist/formatters/index.js +43 -0
  22. package/dist/formatters/index.js.map +10 -0
  23. package/dist/handlers/index.d.ts +16 -0
  24. package/dist/handlers/index.js +37 -0
  25. package/dist/handlers/index.js.map +10 -0
  26. package/{src/index.ts → dist/index.d.ts} +2 -29
  27. package/dist/index.js +4182 -0
  28. package/dist/index.js.map +41 -0
  29. package/dist/managers/application.d.ts +28 -0
  30. package/dist/managers/base.d.ts +28 -0
  31. package/dist/managers/index.d.ts +96 -0
  32. package/dist/managers/index.js +947 -0
  33. package/dist/managers/index.js.map +22 -0
  34. package/dist/managers/member.d.ts +35 -0
  35. package/dist/managers/message.d.ts +25 -0
  36. package/dist/managers/role.d.ts +34 -0
  37. package/dist/managers/thread.d.ts +14 -0
  38. package/dist/rest/index.d.ts +49 -0
  39. package/dist/rest/index.js +344 -0
  40. package/dist/rest/index.js.map +12 -0
  41. package/dist/rest/routes.d.ts +44 -0
  42. package/dist/rest/types.d.ts +26 -0
  43. package/dist/rest/webhook.d.ts +40 -0
  44. package/dist/sharding/bus.d.ts +22 -0
  45. package/dist/sharding/index.d.ts +34 -0
  46. package/dist/sharding/index.js +732 -0
  47. package/dist/sharding/index.js.map +13 -0
  48. package/dist/structures/base.d.ts +75 -0
  49. package/dist/structures/index.d.ts +39 -0
  50. package/dist/structures/index.js +571 -0
  51. package/dist/structures/index.js.map +14 -0
  52. package/dist/structures/interactions.d.ts +136 -0
  53. package/dist/structures/permissions.d.ts +73 -0
  54. package/dist/structures/resources.d.ts +64 -0
  55. package/dist/types/index.d.ts +535 -0
  56. package/dist/types/index.js +132 -0
  57. package/dist/types/index.js.map +10 -0
  58. package/dist/utils/index.d.ts +6 -0
  59. package/dist/utils/index.js +18 -0
  60. package/dist/utils/index.js.map +10 -0
  61. package/dist/voice/index.d.ts +97 -0
  62. package/dist/voice/index.js +161 -0
  63. package/dist/voice/index.js.map +10 -0
  64. package/dist/ws/index.d.ts +76 -0
  65. package/dist/ws/index.js +582 -0
  66. package/dist/ws/index.js.map +11 -0
  67. package/package.json +113 -28
@@ -0,0 +1,111 @@
1
+ export { Permission, Permissions, PermissionFlagsBits, PermissionSet, PermissionsBitField, PermissionOverwriteType, type PermissionName, } from "./permissions.js";
2
+ import { ApplicationCommandManager, ChannelManager, GuildManager, UserManager } from "@lunibee/managers";
3
+ import { REST } from "@lunibee/rest";
4
+ import { Channel, Message, Interaction, type InteractionClient } from "@lunibee/structures";
5
+ import { Gateway } from "@lunibee/ws";
6
+ import type { APIChannel, APIGuild, APIGuildMember, APIGuildRoleEvent, APIGuildRoleDeleteEvent, APIGuildBanEvent, APIGuildEmojisUpdateEvent, APIMessageDeleteBulkEvent, APIMessageDeleteEvent, APIMessageReactionEvent, APIThreadEvent, ClientOptions, ClientUser } from "@lunibee/types";
7
+ /** Events emitted by the Lunibee client. */
8
+ export interface ClientEvents {
9
+ /** Client is ready. */ ready: [ClientUser];
10
+ /** Raw gateway dispatch envelope. */ raw: [{
11
+ event: string;
12
+ data: unknown;
13
+ }];
14
+ /** Normalized client error. */ error: [Error];
15
+ /** Gateway opened. */ open: [];
16
+ /** Gateway closed. */ close: [{
17
+ code: number;
18
+ action: string;
19
+ }];
20
+ /** Message created. */ messageCreate: [Message];
21
+ /** Message updated. */ messageUpdate: [Message];
22
+ /** Message deleted. */ messageDelete: [APIMessageDeleteEvent];
23
+ /** Messages deleted in bulk. */ messageDeleteBulk: [
24
+ APIMessageDeleteBulkEvent
25
+ ];
26
+ /** Guild became available. */ guildCreate: [APIGuild];
27
+ /** Guild updated. */ guildUpdate: [APIGuild];
28
+ /** Guild became unavailable or was removed. */ guildDelete: [
29
+ {
30
+ id: string;
31
+ unavailable?: boolean;
32
+ }
33
+ ];
34
+ /** Channel created. */ channelCreate: [Channel];
35
+ /** Channel updated. */ channelUpdate: [Channel];
36
+ /** Channel deleted. */ channelDelete: [APIChannel];
37
+ /** Thread created. */ threadCreate: [Channel];
38
+ /** Thread updated. */ threadUpdate: [Channel];
39
+ /** Thread deleted. */ threadDelete: [APIThreadEvent];
40
+ /** Guild member added. */ guildMemberAdd: [APIGuildMember];
41
+ /** Guild member updated. */ guildMemberUpdate: [APIGuildMember];
42
+ /** Guild member removed. */ guildMemberRemove: [APIGuildMember];
43
+ /** Reaction added. */ messageReactionAdd: [APIMessageReactionEvent];
44
+ /** Reaction removed. */ messageReactionRemove: [APIMessageReactionEvent];
45
+ /** All reactions removed. */ messageReactionRemoveAll: [
46
+ APIMessageDeleteEvent
47
+ ];
48
+ /** Interaction created. */ interactionCreate: [Interaction];
49
+ /** Guild role created. */ guildRoleCreate: [APIGuildRoleEvent];
50
+ /** Guild role updated. */ guildRoleUpdate: [APIGuildRoleEvent];
51
+ /** Guild role deleted. */ guildRoleDelete: [APIGuildRoleDeleteEvent];
52
+ /** Guild ban added. */ guildBanAdd: [APIGuildBanEvent];
53
+ /** Guild ban removed. */ guildBanRemove: [APIGuildBanEvent];
54
+ /** Guild emojis updated. */ guildEmojisUpdate: [APIGuildEmojisUpdateEvent];
55
+ }
56
+ /** Lifecycle state of a client. */
57
+ export type ClientState = "idle" | "connecting" | "ready" | "destroyed";
58
+ type Listener<T extends unknown[]> = (...args: T) => unknown;
59
+ /** Minimal typed event emitter used by the client. */
60
+ declare class EventEmitter<Events extends {
61
+ [K in keyof Events]: unknown[];
62
+ }> {
63
+ #private;
64
+ /** Registers a listener. @param event Event name. @param listener Listener callback. @returns This emitter. */ on<K extends keyof Events>(event: K, listener: Listener<Events[K]>): this;
65
+ /** Registers a one-shot listener. @param event Event name. @param listener Listener callback. @returns This emitter. */ once<K extends keyof Events>(event: K, listener: Listener<Events[K]>): this;
66
+ /** Removes a listener. @param event Event name. @param listener Listener callback. @returns This emitter. */ off<K extends keyof Events>(event: K, listener: Listener<Events[K]>): this;
67
+ /** Removes listeners. @param event Optional event name. @returns This emitter. */ removeAllListeners<K extends keyof Events>(event?: K): this;
68
+ /** Emits an event. @param event Event name. @param args Event arguments. @returns Whether listeners were invoked. */ protected emit<K extends keyof Events>(event: K, ...args: Events[K]): boolean;
69
+ }
70
+ /** Main Lunibee Discord client. */
71
+ export declare class Client extends EventEmitter<ClientEvents> implements InteractionClient {
72
+ #private;
73
+ readonly options: ClientOptions;
74
+ /** REST transport used by all managers. */ readonly rest: REST;
75
+ /** User resource manager. */ readonly users: UserManager;
76
+ /** Guild resource manager. */ readonly guilds: GuildManager;
77
+ /** Channel and message resource manager. */ readonly channels: ChannelManager;
78
+ /** Application command manager (available after login). */ readonly application: {
79
+ /** Application command registration API. */ commands: ApplicationCommandManager;
80
+ };
81
+ /** Underlying WebSocket Gateway connection. */ get ws(): Gateway;
82
+ /** Underlying WebSocket Gateway connection. */ get gateway(): Gateway;
83
+ /** Current authenticated bot user. */ user?: ClientUser;
84
+ /** Time at which the gateway became ready. */ readyAt?: Date;
85
+ /** Current client lifecycle state. */ state: ClientState;
86
+ /** Time in milliseconds since the client became ready, or null if not ready. */
87
+ get uptime(): number | null;
88
+ /** Creates a client. @param options Client configuration. @throws {TypeError} If no token is supplied. */ constructor(options: ClientOptions);
89
+ /** Indicates whether the client has completed gateway readiness. @returns True when ready. */ isReady(): this is Client & {
90
+ user: ClientUser;
91
+ readyAt: Date;
92
+ };
93
+ /** Connects the REST and gateway clients. @returns A promise fulfilled after the gateway socket opens. @throws {Error} If the client is destroyed or connection fails. */ login(): Promise<void>;
94
+ /** Closes the gateway and destroys cached resources. @returns Nothing. */ destroy(): void;
95
+ /** Posts an interaction callback through REST. @param id Interaction identifier. @param token Interaction token. @param response Interaction response. @returns REST response. */ postInteractionResponse(id: string, token: string, response: import("@lunibee/structures").InteractionResponse): Promise<unknown>;
96
+ /** Edits the original interaction response. @param token Interaction token. @param data Reply payload. @returns REST response. */ editInteractionReply(token: string, data: import("@lunibee/structures").InteractionReplyOptions): Promise<unknown>;
97
+ /** Deletes the original interaction response. @param token Interaction token. @returns Nothing. */ deleteInteractionReply(token: string): Promise<void>;
98
+ /** Sets the client gateway presence. @param presence Presence options. @returns Whether the presence update was sent. */
99
+ setPresence(presence: import("@lunibee/types").GatewayPresence): boolean;
100
+ /** Sends a follow-up interaction webhook message. @param token Interaction token. @param data Follow-up payload. @returns REST response. */ followUpInteraction(token: string, data: import("@lunibee/structures").InteractionReplyOptions): Promise<unknown>;
101
+ }
102
+ export { Collection } from "@lunibee/collection";
103
+ export { REST, RESTError, Routes } from "@lunibee/rest";
104
+ export { Gateway, GatewayError, GatewayOpcodes } from "@lunibee/ws";
105
+ export { User, Guild, Channel, Message, type ResourceContext, } from "@lunibee/structures";
106
+ export { EmbedBuilder, ButtonBuilder, ActionRowBuilder, StringSelectBuilder, SlashCommandBuilder, StringOptionBuilder, } from "@lunibee/builders";
107
+ export * from "@lunibee/types";
108
+ export { Manager, ResourceManager, UserManager, GuildManager, ChannelManager, MessageCreateOptions, MessageEditOptions, MessageFetchOptions, MessageThreadOptions, ReactionFetchOptions, } from "@lunibee/managers";
109
+ export { Collector, type CollectorOptions } from "./collector.js";
110
+ export { ApplicationCommandManager } from "@lunibee/managers";
111
+ export type { APIApplicationCommand, ApplicationCommandData, APIRole, APIGuildRoleEvent, APIGuildRoleDeleteEvent, APIGuildBanEvent, APIEmoji, APIGuildEmojisUpdateEvent, ApplicationCommandOptionType, ApplicationCommandType, } from "@lunibee/types";