blackcat.js-discord - v1.0.17
    Preparing search index...

    Class SlashCommandManager

    Load các module slash command từ hệ thống file, xử lý Discord interactions và đăng ký commands đã load với Discord API.

    Một module command phải export SlashCommandBuilder dưới dạng default export hoặc export trực tiếp command object. Mỗi command bắt buộc phải có commandName, executebuild.

    const manager = new SlashCommandManager({
    directory: path.join(__dirname, "commands"),
    guildID: "123456789012345678",
    reset: { guild: true },
    });

    manager.setClient(client);
    await manager.loadAll();
    Index

    Constructors

    Properties

    client: Client

    Discord client được gán thông qua SlashCommandManager.setClient.

    Methods

    • Xóa toàn bộ commands đã load khỏi bộ nhớ.

      Method này không xóa file và không hủy đăng ký commands khỏi Discord.

      Returns void

    • Lấy command đã load theo tên.

      Parameters

      • commandName: string

        Tên slash command.

      Returns SlashCommandBuilder<undefined, {}, {}> | undefined

      Instance command nếu tìm thấy.

    • Lấy số lượng commands đã load.

      Returns number

      Số lượng command hiện tại.

    • Lấy tên của toàn bộ commands đã load.

      Returns string[]

      Danh sách tên command theo thứ tự được thêm vào.

    • Build JSON payload dùng để đăng ký command với Discord.

      Returns unknown[]

      Danh sách payload command có thể serialize.

    • Lấy toàn bộ instance command đã load.

      Returns SlashCommandBuilder<undefined, {}, {}>[]

      Commands đã load theo thứ tự được thêm vào.

    • Chuẩn hóa guild IDs đã cấu hình thành một array.

      Returns string[]

      Danh sách guild ID, hoặc array rỗng khi đăng ký global.

    • Lấy đường dẫn file đã load ra một command.

      Parameters

      • commandName: string

        Tên slash command.

      Returns string | undefined

      Đường dẫn file tuyệt đối nếu có.

    • Lấy snapshot ánh xạ tên command với file nguồn tương ứng.

      Map trả về là bản sao, nên việc thay đổi map này không làm thay đổi state của manager.

      Returns Map<string, string>

      Map từ commandName tới đường dẫn file tuyệt đối.

    • Kiểm tra command đã được load hay chưa.

      Parameters

      • commandName: string

        Tên slash command.

      Returns boolean

      true nếu command tồn tại trong manager.

    • Load toàn bộ commands từ thư mục đã cấu hình.

      Method này cũng gắn interaction listener một lần duy nhất. Nếu autoRegister được bật, commands sẽ được đăng ký ngay khi client đã sẵn sàng hoặc sẽ chờ đến sự kiện ClientReady.

      Returns Promise<void>

      Promise được resolve sau khi load xong và thiết lập đăng ký nếu cần.

    • Load toàn bộ file command hợp lệ từ một thư mục.

      Parameters

      • directory: string | undefined = ...

        Thư mục cần quét. Mặc định là thư mục đã cấu hình.

      Returns Promise<number>

      Số lượng command mới được thêm.

    • Load một file slash command riêng lẻ.

      File có thể dùng default export hoặc export trực tiếp command object. File không hợp lệ sẽ được báo qua onError và trả về undefined.

      Parameters

      • filePath: string

        Đường dẫn tới file command.

      • options: LoadSlashCommandFileOptions = {}

        Tùy chọn hành vi khi load một file.

      Returns Promise<SlashCommandBuilder<undefined, {}, {}> | undefined>

      Command đã load, hoặc undefined nếu load thất bại.

    • Đăng ký các slash commands hiện đang được load với Discord.

      Commands sẽ được đăng ký dưới dạng guild commands khi guildID được cấu hình; nếu không, commands sẽ được đăng ký global.

      Returns Promise<void>

      Client phải đăng nhập xong và có user.

    • Xóa commands hiện tại và load lại từ disk.

      Nếu truyền client, manager sẽ cập nhật client reference trước khi reload. Interaction listener vẫn chỉ được gắn một lần qua nhiều lần reload.

      Parameters

      • Optionalclient: Client<boolean>

        Client thay thế tùy chọn.

      Returns Promise<void>

    • Reload một command theo commandName.

      Nếu reload thất bại, command cũ trong bộ nhớ sẽ được khôi phục.

      Parameters

      • commandName: string

        Tên command cần reload.

      Returns Promise<SlashCommandBuilder<undefined, {}, {}> | undefined>

      Command đã reload, hoặc undefined nếu command không tồn tại hoặc reload thất bại.

    • Reload một command từ đường dẫn file.

      Nếu file chưa từng được load, file sẽ được load như một command mới với overwritecacheBust được bật.

      Parameters

      • filePath: string

        Đường dẫn tới file command.

      Returns Promise<SlashCommandBuilder<undefined, {}, {}> | undefined>

      Command đã load, hoặc undefined nếu load thất bại.

    • Xóa một command khỏi registry trong bộ nhớ.

      Method này không xóa file và không hủy đăng ký command khỏi Discord.

      Parameters

      • commandName: string

        Tên slash command.

      Returns boolean

      true nếu có command bị xóa.

    • Gán Discord client được manager sử dụng.

      Method trả về chính manager hiện tại để hỗ trợ gọi nối tiếp.

      Parameters

      • client: Client

        Instance Discord client.

      Returns this

      Instance manager hiện tại.