今天我們將詳細規劃 Discord Bot 中的 !help 指令,為使用者提供一個清晰易懂的指令集,讓使用者能夠根據需求訂閱或管理他們的租屋資訊推播服務。
package tw.grass.rental_crawler.service;
public interface DiscordBotCommandService {
    /*
     * 說明指令: ex: !help
     */
    String helpCommand();
    /*
     * 訂閱指令,建議使用者設定好後再訂閱: ex: !sub
     */
    String subscribeCommand(String userID, String channel);
    /*
     * 解除訂閱指令: ex: !unsub
     */
    String unsubscribeCommand(String userID);
    /*
     * 清楚使用者定義的條件: ex: !reset
     */
    String resetCommand(String userID);
    /*
     * 用戶資訊顯示: ex: !info
     */
    String showInfoCommand(String userID);
    /*
     * 指定房型,可指定多個,使用空白分隔,新的指令覆蓋舊的 ex: !sp_room 整層住家 獨立套房
     * 可輸入選項:不限,整層住家,獨立套房,分租套房,雅房,車位,其他
     */
    String specifyRoomTypeCommand(String userID, String inputSting);
    /*
     * 指定價格區間,新的指令覆蓋舊的 ex: !sp_price 10000~20000
     * 說明10000至20000 含10000及20000
     */
    String specifyPriceCommand(String userID, String inputSting);
    /*
     * 指定地址,可指定多個,使用空白分隔,新的指令覆蓋舊的  ex: !sp_Address 內湖區 士林區
     * 大安區,內湖區,士林區,文山區,北投區,中山區,信義區,松山區,萬華區,中正區,大同區,南港區
     * 說明:10000至20000 含10000及20000
     */
    String specifyAddressCommand(String userID, String inputSting);
    /*
     * 指定樓層,新的指令覆蓋舊的  ex: !sp_floor 4
     * 說明:4樓
     */
    String specifyFloorCommand(String userID, String inputSting);
    /*
     * 指定設備,新的指令覆蓋舊的,可指定多個,使用空白分隔 ex: !sp_item 冰箱 洗衣機
     * 說明:需含冰箱及洗衣機
     * 可輸入選項:冰箱,洗衣機,電視,冷氣,熱水器,床,衣櫃,第四台,網路,天然瓦斯,沙發,桌子,陽台,電梯,車位
     */
    String specifyItemCommand(String userID, String inputSting);
}

這套 !help 指令集涵蓋了我們 Bot 的核心功能,讓使用者可以輕鬆管理租屋資訊推播服務。從基本的訂閱、解除訂閱到設定詳細的搜尋條件,這些指令都旨在提升使用者體驗,讓租屋資訊推播更加精準和個性化。
接下來,我們將會開始實做這些指令。