/[sudobot]/trunk/src/index.ts
ViewVC logotype

Annotation of /trunk/src/index.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 393 - (hide annotations)
Mon Jul 29 17:29:59 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: application/typescript
File size: 2371 byte(s)
style: add license comments (#77)

* style: add license commits

* fix: shebang errors
1 rakin 393 /**
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 rakin 348 import 'reflect-metadata';
21 rakin 51 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 rakin 58 import { registrationEnd, registrationStart } from './utils/debug';
28     import { yellow } from './utils/util';
29 rakin 51
30     if (existsSync(path.join(__dirname, '../.env'))) {
31     config();
32     }
33     else {
34     process.env.ENV = 'prod';
35     }
36    
37 rakin 58 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 rakin 362 console.log(`ENV: ${process.env.SUDO_PREFIX}`);
48    
49 rakin 66 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 rakin 51 (async () => {
65 rakin 58 await registrationStart();
66 rakin 51 await registerCommands(client, '../commands');
67 rakin 58 await registrationEnd();
68    
69     await registrationStart();
70 rakin 51 await registerEvents(client, '../events');
71 rakin 58 await registrationEnd();
72    
73 rakin 67 await client.login(process.env.TOKEN);
74 rakin 241 await console.log('test');
75 rakin 362 })();

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26