Skip to content

Commit

Permalink
REST v8, Gateway v8 (abalabahaha#1038)
Browse files Browse the repository at this point in the history
Co-authored-by: macdja38 <jakeincanada@icloud.com>
Co-authored-by: bsian03 <chharry321@gmail.com>
Co-authored-by: abalabahaha <hi@abal.moe>
  • Loading branch information
4 people committed Jul 13, 2021
1 parent 0726aae commit e194a71
Show file tree
Hide file tree
Showing 15 changed files with 194 additions and 168 deletions.
106 changes: 65 additions & 41 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ declare namespace Eris {
type InteractionType = 1 | 2;

// Permission
type PermissionType = "role" | "member";
type PermissionType = 0 | 1;

// Presence/Relationship
type ActivityType = BotActivityType | 4;
Expand Down Expand Up @@ -208,8 +208,7 @@ declare namespace Eris {
firstShardID?: number;
getAllUsers?: boolean;
guildCreateTimeout?: number;
guildSubscriptions?: boolean;
intents?: number | IntentStrings[];
intents: number | IntentStrings[];
largeThreshold?: number;
lastShardID?: number;
/** @deprecated */
Expand Down Expand Up @@ -669,9 +668,6 @@ declare namespace Eris {
limit?: number;
userID?: string;
}
interface GetGuildIntegrationsOptions {
includeApplications?: boolean;
}
interface GetPruneOptions {
days?: number;
includeRoles?: string[];
Expand Down Expand Up @@ -729,9 +725,9 @@ declare namespace Eris {
summary: string;
}
interface IntegrationOptions {
enableEmoticons: string;
expireBehavior: string;
expireGracePeriod: string;
enableEmoticons?: string;
expireBehavior?: string;
expireGracePeriod?: string;
}
interface PruneMemberOptions extends GetPruneOptions {
computePruneCount?: boolean;
Expand Down Expand Up @@ -762,6 +758,27 @@ declare namespace Eris {
channel_id?: string;
enabled: boolean;
}
interface WidgetChannel {
id: string;
name: string;
position: number;
}
interface WidgetData {
channels: WidgetChannel[];
id: string;
instant_invite: string;
members: WidgetMember[];
name: string;
presence_count: number;
}
interface WidgetMember {
avatar: string | null;
avatar_url: string;
discriminator: string;
id: string;
status: string;
username: string;
}

// Invite
interface CreateInviteOptions {
Expand Down Expand Up @@ -923,10 +940,16 @@ declare namespace Eris {
[key: string]: unknown;
}
interface ActivityPartial<T extends ActivityType = BotActivityType> {
name?: string;
type?: T;
name: string;
type: T;
url?: string;
}
interface ClientPresence {
activities: Activity[] | null;
afk: boolean;
since: number | null;
status: Status;
}
interface ClientStatus {
desktop: Status;
mobile: Status;
Expand All @@ -935,7 +958,6 @@ declare namespace Eris {
interface Presence {
activities?: Activity[];
clientStatus?: ClientStatus;
game: Activity | null;
status?: Status;
}

Expand All @@ -960,7 +982,7 @@ declare namespace Eris {
hoist?: boolean;
mentionable?: boolean;
name?: string;
permissions?: bigint | number;
permissions?: bigint | number | Permission;
}
interface RoleTags {
bot_id?: string;
Expand Down Expand Up @@ -1122,7 +1144,7 @@ declare namespace Eris {
GUILD_STORE: 6;
GUILD_STAGE: 13;
};
GATEWAY_VERSION: 6;
GATEWAY_VERSION: 8;
GatewayOPCodes: {
EVENT: 0;
HEARTBEAT: 1;
Expand Down Expand Up @@ -1245,7 +1267,7 @@ declare namespace Eris {
allVoice: 4629464849n;
all: 8589934591n;
};
REST_VERSION: 7;
REST_VERSION: 8;
StickerFormats: {
PNG: 1;
APNG: 2;
Expand Down Expand Up @@ -1459,7 +1481,7 @@ declare namespace Eris {
lastReconnectDelay: number;
notes: { [s: string]: string };
options: ClientOptions;
presence: Presence;
presence: ClientPresence;
privateChannelMap: { [s: string]: string };
privateChannels: Collection<PrivateChannel>;
ready: boolean;
Expand All @@ -1475,7 +1497,7 @@ declare namespace Eris {
users: Collection<User>;
userSettings: UserSettings;
voiceConnections: VoiceConnectionManager;
constructor(token: string, options?: ClientOptions);
constructor(token: string, options: ClientOptions);
acceptInvite(inviteID: string): Promise<Invite<"withoutCount">>;
addGroupRecipient(groupID: string, userID: string): Promise<void>;
addGuildDiscoverySubcategory(guildID: string, categoryID: string, reason?: string): Promise<DiscoverySubcategoryResponse>;
Expand Down Expand Up @@ -1634,7 +1656,7 @@ declare namespace Eris {
overwriteID: string,
allow: bigint | number,
deny: bigint | number,
type: string,
type: PermissionType,
reason?: string
): Promise<void>;
editChannelPosition(channelID: string, position: number, options?: EditChannelPositionOptions): Promise<void>;
Expand All @@ -1647,7 +1669,7 @@ declare namespace Eris {
reason?: string
): Promise<Emoji>;
editGuildIntegration(guildID: string, integrationID: string, options: IntegrationOptions): Promise<void>;
editGuildMember(guildID: string, memberID: string, options: MemberOptions, reason?: string): Promise<void>;
editGuildMember(guildID: string, memberID: string, options: MemberOptions, reason?: string): Promise<Member>;
editGuildTemplate(guildID: string, code: string, options: GuildTemplateOptions): Promise<GuildTemplate>;
editGuildVanity(guildID: string, code: string | null): Promise<GuildVanity>;
editGuildVoiceState(guildID: string, options: VoiceStateOptions, userID?: string): Promise<void>;
Expand All @@ -1664,7 +1686,8 @@ declare namespace Eris {
data: { friendSync: boolean; visibility: number }
): Promise<Connection>;
editSelfSettings(data: UserSettings): Promise<UserSettings>;
editStatus(status?: Status, game?: ActivityPartial<BotActivityType>): void;
editStatus(status: Status, activities?: ActivityPartial<BotActivityType>[] | ActivityPartial<BotActivityType>): void;
editStatus(activities?: ActivityPartial<BotActivityType>[] | ActivityPartial<BotActivityType>): void;
editUserNote(userID: string, note: string): Promise<void>;
editWebhook(
webhookID: string,
Expand Down Expand Up @@ -1703,15 +1726,16 @@ declare namespace Eris {
getGuildDiscovery(guildID: string): Promise<DiscoveryMetadata>;
/** @deprecated */
getGuildEmbed(guildID: string): Promise<Widget>;
getGuildIntegrations(guildID: string, options?: GetGuildIntegrationsOptions): Promise<GuildIntegration[]>;
getGuildIntegrations(guildID: string): Promise<GuildIntegration[]>;
getGuildInvites(guildID: string): Promise<Invite[]>;
getGuildPreview(guildID: string): Promise<GuildPreview>;
getGuildTemplate(code: string): Promise<GuildTemplate>;
getGuildTemplates(guildID: string): Promise<GuildTemplate[]>;
getGuildVanity(guildID: string): Promise<GuildVanity>;
getGuildWebhooks(guildID: string): Promise<Webhook[]>;
getGuildWelcomeScreen(guildID: string): Promise<WelcomeScreen>;
getGuildWidget(guildID: string): Promise<Widget>;
getGuildWidget(guildID: string): Promise<WidgetData>;
getGuildWidgetSettings(guildID: string): Promise<Widget>;
getInvite(inviteID: string, withCounts?: false): Promise<Invite<"withoutCount">>;
getInvite(inviteID: string, withCounts: true): Promise<Invite<"withCount">>;
getMessage(channelID: string, messageID: string): Promise<Message>;
Expand Down Expand Up @@ -1877,7 +1901,7 @@ declare namespace Eris {
commands: { [s: string]: Command };
guildPrefixes: { [s: string]: string | string[] };
preReady?: true;
constructor(token: string, options?: ClientOptions, commandOptions?: CommandClientOptions);
constructor(token: string, options: ClientOptions, commandOptions?: CommandClientOptions);
checkPrefix(msg: Message): string;
onMessageCreate(msg: Message): Promise<void>;
onMessageReactionEvent(msg: Message, emoji: Emoji, reactor: Member | Uncached | string): Promise<void>
Expand Down Expand Up @@ -2029,7 +2053,7 @@ declare namespace Eris {
editDiscovery(options?: DiscoveryOptions): Promise<DiscoveryMetadata>;
editEmoji(emojiID: string, options: { name: string; roles?: string[] }, reason?: string): Promise<Emoji>;
editIntegration(integrationID: string, options: IntegrationOptions): Promise<void>;
editMember(memberID: string, options: MemberOptions, reason?: string): Promise<void>;
editMember(memberID: string, options: MemberOptions, reason?: string): Promise<Member>;
editNickname(nick: string): Promise<void>;
editRole(roleID: string, options: RoleOptions): Promise<Role>;
editTemplate(code: string, options: GuildTemplateOptions): Promise<GuildTemplate>;
Expand All @@ -2047,7 +2071,7 @@ declare namespace Eris {
getDiscovery(): Promise<DiscoveryMetadata>;
/** @deprecated */
getEmbed(): Promise<Widget>;
getIntegrations(options?: GetGuildIntegrationsOptions): Promise<GuildIntegration>;
getIntegrations(): Promise<GuildIntegration>;
getInvites(): Promise<Invite[]>;
getPruneCount(options?: GetPruneOptions): Promise<number>;
getRESTChannels(): Promise<AnyGuildChannel[]>;
Expand All @@ -2063,7 +2087,8 @@ declare namespace Eris {
getVoiceRegions(): Promise<VoiceRegion[]>;
getWebhooks(): Promise<Webhook[]>;
getWelcomeScreen(): Promise<WelcomeScreen>;
getWidget(): Promise<Widget>;
getWidget(): Promise<WidgetData>;
getWidgetSettings(): Promise<Widget>;
kickMember(userID: string, reason?: string): Promise<void>;
leave(): Promise<void>;
leaveVoiceChannel(): void;
Expand Down Expand Up @@ -2125,21 +2150,21 @@ declare namespace Eris {
application?: IntegrationApplication;
createdAt: number;
enabled: boolean;
enableEmoticons: boolean;
expireBehavior: number;
expireGracePeriod: number;
enableEmoticons?: boolean;
expireBehavior?: number;
expireGracePeriod?: number;
id: string;
name: string;
revoked: boolean;
roleID: string;
subscriberCount: number;
syncedAt: number;
syncing: boolean;
revoked?: boolean;
roleID?: string;
subscriberCount?: number;
syncedAt?: number;
syncing?: boolean;
type: string;
user?: User;
constructor(data: BaseData, guild: Guild);
delete(): Promise<void>;
edit(options: { enableEmoticons: string; expireBehavior: string; expireGracePeriod: string }): Promise<void>;
edit(options: IntegrationOptions): Promise<void>;
sync(): Promise<void>;
}

Expand Down Expand Up @@ -2376,10 +2401,9 @@ declare namespace Eris {
unsendMessage(messageID: string): Promise<void>;
}

export class Relationship extends Base implements Presence {
activities?: Activity[];
export class Relationship extends Base implements Omit<Presence, "activities"> {
activities: Activity[] | null;
clientStatus?: ClientStatus;
game: Activity | null;
id: string;
status: Status;
type: number;
Expand Down Expand Up @@ -2455,7 +2479,7 @@ declare namespace Eris {
lastHeartbeatSent: number | null;
latency: number;
preReady: boolean;
presence: Presence;
presence: ClientPresence;
presenceUpdateBucket: Bucket;
ready: boolean;
reconnectInterval: number;
Expand All @@ -2471,8 +2495,8 @@ declare namespace Eris {
createGuild(_guild: Guild): Guild;
disconnect(options?: { reconnect?: boolean | "auto" }, error?: Error): void;
editAFK(afk: boolean): void;
editStatus(status?: Status, game?: ActivityPartial<BotActivityType>): void;
editStatus(game?: ActivityPartial<BotActivityType>): void;
editStatus(status: Status, activities?: ActivityPartial<BotActivityType>[] | ActivityPartial<BotActivityType>): void;
editStatus(activities?: ActivityPartial<BotActivityType>[] | ActivityPartial<BotActivityType>): void;
// @ts-ignore: Method override
emit(event: string, ...args: any[]): void;
getGuildMembers(guildID: string, timeout: number): void;
Expand Down
Loading

0 comments on commit e194a71

Please sign in to comment.