/[sudobot]/branches/4.x/src/index.ts
ViewVC logotype

Contents of /branches/4.x/src/index.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 577 - (show annotations)
Mon Jul 29 18:52:37 2024 UTC (8 months ago) by rakinar2
File MIME type: application/typescript
File size: 2371 byte(s)
chore: add old version archive branches (2.x to 9.x-dev)
1 /**
2 * This file is part of SudoBot.
3 *
4 * Copyright (C) 2021-2022 OSN Inc.
5 *
6 * SudoBot is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU Affero General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * SudoBot is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public License
17 * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20 import 'reflect-metadata';
21 import { registerCommands, registerEvents } from './utils/registry';
22 import DiscordClient from './client/Client';
23 import { Intents } from 'discord.js';
24 import { config } from 'dotenv';
25 import { existsSync } from 'fs';
26 import path from 'path';
27 import { registrationEnd, registrationStart } from './utils/debug';
28 import { yellow } from './utils/util';
29
30 if (existsSync(path.join(__dirname, '../.env'))) {
31 config();
32 }
33 else {
34 process.env.ENV = 'prod';
35 }
36
37 if (process.argv.includes('--prod')) {
38 console.warn(yellow('WARNING: Forcing production mode (--prod option passed)'));
39 process.env.ENV = 'prod';
40 }
41
42 if (process.argv.includes('--dev')) {
43 console.warn(yellow('WARNING: Forcing development mode (--dev option passed)'));
44 process.env.ENV = 'dev';
45 }
46
47 console.log(`ENV: ${process.env.SUDO_PREFIX}`);
48
49 const client = new DiscordClient({
50 partials: ["CHANNEL"],
51 intents: [
52 Intents.FLAGS.GUILDS,
53 Intents.FLAGS.GUILD_MESSAGES,
54 Intents.FLAGS.DIRECT_MESSAGES,
55 Intents.FLAGS.DIRECT_MESSAGE_TYPING,
56 Intents.FLAGS.GUILD_PRESENCES,
57 Intents.FLAGS.GUILD_MEMBERS,
58 Intents.FLAGS.GUILD_BANS,
59 Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
60 Intents.FLAGS.GUILD_EMOJIS_AND_STICKERS,
61 ]
62 }, path.resolve(__dirname, '..'));
63
64 (async () => {
65 await registrationStart();
66 await registerCommands(client, '../commands');
67 await registrationEnd();
68
69 await registrationStart();
70 await registerEvents(client, '../events');
71 await registrationEnd();
72
73 await client.login(process.env.TOKEN);
74 await console.log('test');
75 })();

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26