Improved support for error handling
This commit is contained in:
parent
03aa9d0c82
commit
7390cbdbbb
@ -1,6 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
ChatCompletionRequestMessage, ChatCompletionResponseMessage, Configuration, OpenAIApi,
|
ChatCompletionRequestMessage, ChatCompletionResponseMessage, Configuration, OpenAIApi,
|
||||||
} from 'openai';
|
} from 'openai';
|
||||||
|
import process from 'process';
|
||||||
import { AI } from '@/models/ai';
|
import { AI } from '@/models/ai';
|
||||||
import { Runnable } from '@/models/runnable';
|
import { Runnable } from '@/models/runnable';
|
||||||
import { Logger } from '@/logger';
|
import { Logger } from '@/logger';
|
||||||
@ -8,7 +9,7 @@ import { Logger } from '@/logger';
|
|||||||
export class Api implements AI, Runnable {
|
export class Api implements AI, Runnable {
|
||||||
private _logger: Logger;
|
private _logger: Logger;
|
||||||
|
|
||||||
private _api: OpenAIApi;
|
private _api!: OpenAIApi;
|
||||||
|
|
||||||
private readonly _configuration: Configuration;
|
private readonly _configuration: Configuration;
|
||||||
|
|
||||||
@ -18,12 +19,16 @@ export class Api implements AI, Runnable {
|
|||||||
this._configuration = new Configuration({
|
this._configuration = new Configuration({
|
||||||
apiKey: process.env.OPENAI_API_KEY,
|
apiKey: process.env.OPENAI_API_KEY,
|
||||||
});
|
});
|
||||||
|
|
||||||
this._api = new OpenAIApi(this._configuration);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run(): void {
|
run(): void {
|
||||||
|
try {
|
||||||
|
this._api = new OpenAIApi(this._configuration);
|
||||||
this._logger.service.info('OpenAI Service has been initialized successfully.');
|
this._logger.service.info('OpenAI Service has been initialized successfully.');
|
||||||
|
} catch (error) {
|
||||||
|
this._logger.service.error(`Failed to start OpenAI Service: ${error}`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async chatCompletion(chatHistory: ChatCompletionRequestMessage[])
|
async chatCompletion(chatHistory: ChatCompletionRequestMessage[])
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
ActivityType, Client, CommandInteraction, IntentsBitField, Interaction, Partials,
|
ActivityType, Client, CommandInteraction, IntentsBitField, Interaction, Partials,
|
||||||
} from 'discord.js';
|
} from 'discord.js';
|
||||||
|
import process from 'process';
|
||||||
import { Logger } from '@/logger';
|
import { Logger } from '@/logger';
|
||||||
import { Runnable } from '@/models/runnable';
|
import { Runnable } from '@/models/runnable';
|
||||||
import { AI } from '@/models/ai';
|
import { AI } from '@/models/ai';
|
||||||
@ -46,8 +47,9 @@ export class Bot implements Runnable {
|
|||||||
run(): void {
|
run(): void {
|
||||||
this._client.login(process.env.DISCORD_API_KEY).then(() => {
|
this._client.login(process.env.DISCORD_API_KEY).then(() => {
|
||||||
this._logger.service.info('Discord Service has been initialized successfully.');
|
this._logger.service.info('Discord Service has been initialized successfully.');
|
||||||
}).catch((reason) => {
|
}).catch((error) => {
|
||||||
this._logger.service.error(`Failed to start Discord Service: ${reason}`);
|
this._logger.service.error(`Failed to start Discord Service: ${error}`);
|
||||||
|
process.exit(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
this._client.on('ready', async () => {
|
this._client.on('ready', async () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user