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:
meister03
2022-08-23 16:30:19 +02:00
committed by GitHub
parent 34d7a47f24
commit 0fb4e1f398
6 changed files with 76 additions and 65 deletions

View File

@@ -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]
>

View File

@@ -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]));

View File

@@ -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";

View File

@@ -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);

View File

@@ -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;
});
}

View File

@@ -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;