Initial release for SPT 3.9
This commit is contained in:
16
types/helpers/Dialogue/AbstractDialogueChatBot.d.ts
vendored
Normal file
16
types/helpers/Dialogue/AbstractDialogueChatBot.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
8
types/helpers/Dialogue/Commando/IChatCommand.d.ts
vendored
Normal file
8
types/helpers/Dialogue/Commando/IChatCommand.d.ts
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
getCommands(): Set<string>;
|
||||
handle(command: string, commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
17
types/helpers/Dialogue/Commando/SptCommandoCommands.d.ts
vendored
Normal file
17
types/helpers/Dialogue/Commando/SptCommandoCommands.d.ts
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { ISptCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/ISptCommand";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
export declare class SptCommandoCommands implements IChatCommand {
|
||||
protected configServer: ConfigServer;
|
||||
protected localisationService: LocalisationService;
|
||||
protected sptCommands: ISptCommand[];
|
||||
constructor(configServer: ConfigServer, localisationService: LocalisationService, sptCommands: ISptCommand[]);
|
||||
registerSptCommandoCommand(command: ISptCommand): void;
|
||||
getCommandHelp(command: string): string;
|
||||
getCommandPrefix(): string;
|
||||
getCommands(): Set<string>;
|
||||
handle(command: string, commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
47
types/helpers/Dialogue/Commando/SptCommands/GiveCommand/GiveSptCommand.d.ts
vendored
Normal file
47
types/helpers/Dialogue/Commando/SptCommands/GiveCommand/GiveSptCommand.d.ts
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
import { SavedCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/GiveCommand/SavedCommand";
|
||||
import { ISptCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/ISptCommand";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { ItemFilterService } from "@spt/services/ItemFilterService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
export declare class GiveSptCommand implements ISptCommand {
|
||||
protected logger: ILogger;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected hashUtil: HashUtil;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected localeService: LocaleService;
|
||||
protected databaseService: DatabaseService;
|
||||
protected itemFilterService: ItemFilterService;
|
||||
protected cloner: ICloner;
|
||||
/**
|
||||
* Regex to account for all these cases:
|
||||
* spt give "item name" 5
|
||||
* spt give templateId 5
|
||||
* spt give en "item name in english" 5
|
||||
* spt give es "nombre en español" 5
|
||||
* spt give 5 <== this is the reply when the algo isn't sure about an item
|
||||
*/
|
||||
private static commandRegex;
|
||||
private static acceptableConfidence;
|
||||
private static excludedPresetItems;
|
||||
protected savedCommand: Map<string, SavedCommand>;
|
||||
constructor(logger: ILogger, itemHelper: ItemHelper, hashUtil: HashUtil, presetHelper: PresetHelper, mailSendService: MailSendService, localeService: LocaleService, databaseService: DatabaseService, itemFilterService: ItemFilterService, cloner: ICloner);
|
||||
getCommand(): string;
|
||||
getCommandHelp(): string;
|
||||
performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string;
|
||||
/**
|
||||
* A "simple" function that checks if an item is supposed to be given to a player or not
|
||||
* @param templateItem the template item to check
|
||||
* @returns true if its obtainable, false if its not
|
||||
*/
|
||||
protected isItemAllowed(templateItem: ITemplateItem): boolean;
|
||||
}
|
||||
6
types/helpers/Dialogue/Commando/SptCommands/GiveCommand/SavedCommand.d.ts
vendored
Normal file
6
types/helpers/Dialogue/Commando/SptCommands/GiveCommand/SavedCommand.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export declare class SavedCommand {
|
||||
quantity: number;
|
||||
potentialItemNames: string[];
|
||||
locale: string;
|
||||
constructor(quantity: number, potentialItemNames: string[], locale: string);
|
||||
}
|
||||
7
types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts
vendored
Normal file
7
types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
export interface ISptCommand {
|
||||
getCommand(): string;
|
||||
getCommandHelp(): string;
|
||||
performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
36
types/helpers/Dialogue/Commando/SptCommands/ProfileCommand/ProfileSptCommand.d.ts
vendored
Normal file
36
types/helpers/Dialogue/Commando/SptCommands/ProfileCommand/ProfileSptCommand.d.ts
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { SavedCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/GiveCommand/SavedCommand";
|
||||
import { ISptCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/ISptCommand";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { IProfileChangeEvent } from "@spt/models/spt/dialog/ISendMessageDetails";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { DatabaseServer } from "@spt/servers/DatabaseServer";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
export declare class ProfileSptCommand implements ISptCommand {
|
||||
protected logger: ILogger;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected hashUtil: HashUtil;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected localeService: LocaleService;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected profileHelper: ProfileHelper;
|
||||
/**
|
||||
* Regex to account for all these cases:
|
||||
* spt profile level 20
|
||||
* spt profile skill metabolism 10
|
||||
*/
|
||||
private static commandRegex;
|
||||
protected savedCommand: SavedCommand;
|
||||
constructor(logger: ILogger, itemHelper: ItemHelper, hashUtil: HashUtil, presetHelper: PresetHelper, mailSendService: MailSendService, localeService: LocaleService, databaseServer: DatabaseServer, profileHelper: ProfileHelper);
|
||||
getCommand(): string;
|
||||
getCommandHelp(): string;
|
||||
performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string;
|
||||
protected handleSkillCommand(skill: string, level: number): IProfileChangeEvent;
|
||||
protected handleLevelCommand(level: number): IProfileChangeEvent;
|
||||
}
|
||||
31
types/helpers/Dialogue/Commando/SptCommands/TraderCommand/TraderSptCommand.d.ts
vendored
Normal file
31
types/helpers/Dialogue/Commando/SptCommands/TraderCommand/TraderSptCommand.d.ts
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
import { SavedCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/GiveCommand/SavedCommand";
|
||||
import { ISptCommand } from "@spt/helpers/Dialogue/Commando/SptCommands/ISptCommand";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
export declare class TraderSptCommand implements ISptCommand {
|
||||
protected logger: ILogger;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected hashUtil: HashUtil;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected localeService: LocaleService;
|
||||
protected databaseService: DatabaseService;
|
||||
/**
|
||||
* Regex to account for all these cases:
|
||||
* spt trader prapor rep 100
|
||||
* spt trader mechanic spend 1000000
|
||||
*/
|
||||
private static commandRegex;
|
||||
protected savedCommand: SavedCommand;
|
||||
constructor(logger: ILogger, itemHelper: ItemHelper, hashUtil: HashUtil, presetHelper: PresetHelper, mailSendService: MailSendService, localeService: LocaleService, databaseService: DatabaseService);
|
||||
getCommand(): string;
|
||||
getCommandHelp(): string;
|
||||
performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
10
types/helpers/Dialogue/CommandoDialogueChatBot.d.ts
vendored
Normal file
10
types/helpers/Dialogue/CommandoDialogueChatBot.d.ts
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { AbstractDialogueChatBot } from "@spt/helpers/Dialogue/AbstractDialogueChatBot";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare class CommandoDialogueChatBot extends AbstractDialogueChatBot {
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
getChatBot(): IUserDialogInfo;
|
||||
protected getUnrecognizedCommandMessage(): string;
|
||||
}
|
||||
6
types/helpers/Dialogue/IDialogueChatBot.d.ts
vendored
Normal file
6
types/helpers/Dialogue/IDialogueChatBot.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
export interface IDialogueChatBot {
|
||||
getChatBot(): IUserDialogInfo;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
27
types/helpers/Dialogue/SptDialogueChatBot.d.ts
vendored
Normal file
27
types/helpers/Dialogue/SptDialogueChatBot.d.ts
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { GiftService } from "@spt/services/GiftService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { RandomUtil } from "@spt/utils/RandomUtil";
|
||||
export declare class SptDialogueChatBot implements IDialogueChatBot {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
protected mailSendService: MailSendService;
|
||||
protected giftService: GiftService;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(profileHelper: ProfileHelper, randomUtil: RandomUtil, mailSendService: MailSendService, giftService: GiftService, configServer: ConfigServer);
|
||||
getChatBot(): IUserDialogInfo;
|
||||
/**
|
||||
* Send responses back to player when they communicate with SPT friend on friends list
|
||||
* @param sessionId Session Id
|
||||
* @param request send message request
|
||||
*/
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
}
|
||||
Reference in New Issue
Block a user