mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-31 16:00:07 +00:00
Update minimal template (#2314)
* Outdate template * don't use `.env.example` * deno fmt Co-authored-by: meister03 <meisterpi@gmail.com> Co-authored-by: LTS20050703 <87189679+lts20050703@users.noreply.github.com> Co-authored-by: LTS20050703 <lts20050703@gmail.com>
This commit is contained in:
@@ -190,41 +190,41 @@ export type ConvertArgumentDefinitionsToArgs<
|
||||
[P in keyof T]: T[P] extends StringOptionalArgumentDefinition<infer N> // STRING
|
||||
? {
|
||||
[_ in getName<N>]?: T[P]["choices"] extends readonly { name: string; value: string }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
T[P]["choices"][number]["value"]
|
||||
: string;
|
||||
}
|
||||
: T[P] extends StringArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]: T[P]["choices"] extends readonly { name: string; value: string }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
: string;
|
||||
}
|
||||
[_ in getName<N>]: T[P]["choices"] extends readonly { name: string; value: string }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
: string;
|
||||
}
|
||||
: // INTEGER
|
||||
T[P] extends IntegerOptionalArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]?: T[P]["choices"] extends readonly { name: string; value: number }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
: number;
|
||||
}
|
||||
[_ in getName<N>]?: T[P]["choices"] extends readonly { name: string; value: number }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
: number;
|
||||
}
|
||||
: T[P] extends IntegerArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]: T[P]["choices"] extends readonly { name: string; value: number }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
: number;
|
||||
}
|
||||
[_ in getName<N>]: T[P]["choices"] extends readonly { name: string; value: number }[] ? // @ts-ignore ts being dumb
|
||||
T[P]["choices"][number]["value"]
|
||||
: number;
|
||||
}
|
||||
: // BOOLEAN
|
||||
T[P] extends BooleanOptionalArgumentDefinition<infer N> ? { [_ in getName<N>]?: boolean }
|
||||
: T[P] extends BooleanArgumentDefinition<infer N> ? { [_ in getName<N>]: boolean }
|
||||
: // USER
|
||||
T[P] extends UserOptionalArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]?: {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
[_ in getName<N>]?: {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
: T[P] extends UserArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]: {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
[_ in getName<N>]: {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
: // CHANNEL
|
||||
T[P] extends ChannelOptionalArgumentDefinition<infer N> ? { [_ in getName<N>]?: Channel }
|
||||
: T[P] extends ChannelArgumentDefinition<infer N> ? { [_ in getName<N>]: Channel }
|
||||
@@ -233,30 +233,30 @@ export type ConvertArgumentDefinitionsToArgs<
|
||||
: T[P] extends RoleArgumentDefinition<infer N> ? { [_ in getName<N>]: Role }
|
||||
: // MENTIONABLE
|
||||
T[P] extends MentionableOptionalArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]?: Role | {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
[_ in getName<N>]?: Role | {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
: T[P] extends MentionableArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]: Role | {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
[_ in getName<N>]: Role | {
|
||||
user: User;
|
||||
member: Member;
|
||||
};
|
||||
}
|
||||
: // SUBCOMMAND
|
||||
T[P] extends SubcommandArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]?: T[P]["options"] extends readonly ArgumentDefinition[] ? // @ts-ignore ignore this for a bit
|
||||
ConvertArgumentDefinitionsToArgs<T[P]["options"]>
|
||||
: // deno-lint-ignore ban-types
|
||||
{};
|
||||
}
|
||||
[_ in getName<N>]?: T[P]["options"] extends readonly ArgumentDefinition[] ? // @ts-ignore ignore this for a bit
|
||||
ConvertArgumentDefinitionsToArgs<T[P]["options"]>
|
||||
: // deno-lint-ignore ban-types
|
||||
{};
|
||||
}
|
||||
: // SUBCOMMAND GROUP
|
||||
T[P] extends SubcommandGroupArgumentDefinition<infer N> ? {
|
||||
[_ in getName<N>]?: ConvertArgumentDefinitionsToArgs<
|
||||
T[P]["options"]
|
||||
>;
|
||||
}
|
||||
[_ in getName<N>]?: ConvertArgumentDefinitionsToArgs<
|
||||
T[P]["options"]
|
||||
>;
|
||||
}
|
||||
: never;
|
||||
}[number]
|
||||
>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { dotEnvConfig } from "./deps.ts";
|
||||
|
||||
dotEnvConfig({ export: true });
|
||||
|
||||
export const BOT_TOKEN = Deno.env.get("BOT_TOKEN") || "";
|
||||
export const BOT_ID = BigInt(atob(BOT_TOKEN.split(".")[0]));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export * from "https://deno.land/x/discordeno@13.0.0-rc31/mod.ts";
|
||||
export * from "https://deno.land/x/discordeno@13.0.0-rc31/plugins/mod.ts";
|
||||
export * from "https://deno.land/x/discordeno@13.0.0-rc45/mod.ts";
|
||||
export * from "https://deno.land/x/discordeno@13.0.0-rc45/plugins/mod.ts";
|
||||
export { config as dotEnvConfig } from "https://deno.land/x/dotenv@v3.1.0/mod.ts";
|
||||
export * from "https://deno.land/std@0.117.0/fmt/colors.ts";
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
import { ActivityTypes, createBot, enableCachePlugin, enableCacheSweepers, fastFileLoader, startBot } from "./deps.ts";
|
||||
import {
|
||||
ActivityTypes,
|
||||
createBot,
|
||||
enableCachePlugin,
|
||||
enableCacheSweepers,
|
||||
fastFileLoader,
|
||||
GatewayIntents,
|
||||
startBot,
|
||||
} from "./deps.ts";
|
||||
import { BOT_ID, BOT_TOKEN } from "./configs.ts";
|
||||
import { logger } from "./src/utils/logger.ts";
|
||||
import { events } from "./src/events/mod.ts";
|
||||
@@ -19,22 +27,26 @@ export const bot = enableCachePlugin(
|
||||
createBot({
|
||||
token: BOT_TOKEN,
|
||||
botId: BOT_ID,
|
||||
intents: [],
|
||||
intents: GatewayIntents.Guilds,
|
||||
events,
|
||||
}),
|
||||
);
|
||||
|
||||
// @ts-nocheck: no-updated-depencdencies
|
||||
enableCacheSweepers(bot);
|
||||
|
||||
bot.gateway.presence = {
|
||||
status: "online",
|
||||
activities: [
|
||||
{
|
||||
name: "Discordeno is Best Lib",
|
||||
type: ActivityTypes.Game,
|
||||
createdAt: Date.now(),
|
||||
},
|
||||
],
|
||||
bot.gateway.manager.createShardOptions.makePresence = (shardId: number) => {
|
||||
return {
|
||||
shardId: shardId,
|
||||
status: "online",
|
||||
activities: [
|
||||
{
|
||||
name: "Discordeno is Best Lib",
|
||||
type: ActivityTypes.Game,
|
||||
createdAt: Date.now(),
|
||||
},
|
||||
],
|
||||
};
|
||||
};
|
||||
|
||||
await startBot(bot);
|
||||
|
||||
@@ -51,7 +51,7 @@ export async function updateCommands(
|
||||
|
||||
if (globalCommands.length && (scope === "Global" || scope === undefined)) {
|
||||
log.info(
|
||||
"Updating Global Commands, this takes up to 1 hour to take effect...",
|
||||
"Updating Global Commands, changes should apply in short...",
|
||||
);
|
||||
await bot.helpers.upsertApplicationCommands(globalCommands).catch(
|
||||
log.error,
|
||||
@@ -59,7 +59,7 @@ export async function updateCommands(
|
||||
}
|
||||
|
||||
if (perGuildCommands.length && (scope === "Guild" || scope === undefined)) {
|
||||
await bot.guilds.forEach(async (guild) => {
|
||||
await bot.guilds.forEach(async (guild: Guild) => {
|
||||
await upsertApplicationCommands(bot, perGuildCommands, guild.id);
|
||||
});
|
||||
}
|
||||
@@ -99,8 +99,8 @@ export async function getGuildFromId(
|
||||
}
|
||||
|
||||
await getGuild(bot, guildId).then((guild) => {
|
||||
bot.guilds.set(guildId, guild);
|
||||
returnValue = guild;
|
||||
if (guild) bot.guilds.set(guildId, guild);
|
||||
if (guild) returnValue = guild;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1388,7 +1388,7 @@ export type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${in
|
||||
: Lowercase<S>;
|
||||
export type Camelize<T> = {
|
||||
[K in keyof T as CamelCase<string & K>]: T[K] extends Array<infer U> ? U extends {} ? Array<Camelize<U>>
|
||||
: T[K]
|
||||
: T[K]
|
||||
: T[K] extends {} ? Camelize<T[K]>
|
||||
: never;
|
||||
};
|
||||
@@ -1443,8 +1443,8 @@ export type AnythingBut<T> = Exclude<
|
||||
* object identity type
|
||||
*/
|
||||
export type Id<T> = T extends infer U ? {
|
||||
[K in keyof U]: U[K];
|
||||
}
|
||||
[K in keyof U]: U[K];
|
||||
}
|
||||
: never;
|
||||
|
||||
export type KeysWithUndefined<T> = {
|
||||
@@ -1468,8 +1468,8 @@ type OptionalizeAux<T extends object> = Id<
|
||||
*/
|
||||
export type Optionalize<T> = T extends object
|
||||
? T extends Array<unknown> ? number extends T["length"] ? T[number] extends object ? Array<OptionalizeAux<T[number]>>
|
||||
: T
|
||||
: Partial<T>
|
||||
: T
|
||||
: Partial<T>
|
||||
: OptionalizeAux<T>
|
||||
: T;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user