g9502995

Discord Bot連接應用

發表於 2022-1-25 14:12:31
g9502995 發表於 2022-1-25 14:12:31 | 顯示全部樓層 |閱讀模式
不知道能不能在這裡發這個
最近在用伺服器時突然想到 何不用個Discord BOT來讓玩法更多元
這個教學只教一些基礎的東西 後續再由各位發揮囉
首先當然要先下載檔案囉
使用的是JDA連接在這:https://github.com/DV8FromTheWorld/JDA


首先打開netbeans 創建一個java package 名字可以自己取
螢幕擷取畫面 2022-01-25 000204.png
下載最新的JDA版本 兩種都要下載

螢幕擷取畫面 2022-01-28 124111.png
把JDA-5.0.0-alpha.2-withDependncies.jar加進去
687474703a2f2f692e696d6775722e636f6d2f35435a494a59462e706e67.png
然後對它點右鍵
3.png

找到剛剛下載的javadoc
螢幕擷取畫面 2022-01-28 123337.png

這樣就完成了

螢幕擷取畫面 2022-01-28 123545.png 也可以下載這個:
https://drive.google.com/file/d/ ... Zq/view?usp=sharing


在你剛剛創建的新的Java Package裡再新增一個Java Class 名字隨便 我是取DiscordMain.java
新增這串

public class DiscordMain {

    private static JDA jda;
    private String token;
    public static TextChannel textChannel;

    public DiscordMain(String token, String guild, String textChannel)
        throws LoginException, InterruptedException {
        this.token = token; //你的BOT TOKEN
        jda = JDABuilder.createDefault(token).build();
        jda.setAutoReconnect(true);
        jda.awaitReady();
        this.textChannel = jda.getTextChannelById(textChannel);

    }  
}


至於bot token不知道的人可以去網路上google discord bot token如何取得
然後再到server.Start.java裡新增

public static DiscordMain bot;

try {
            bot = new DiscordMain("你的BOT TOKEN","你的DC伺服器ID","你的頻道ID");
        } catch (LoginException ex) {
            Logger.getLogger(Start.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InterruptedException ex) {
            Logger.getLogger(Start.class.getName()).log(Level.SEVERE, null, ex);
        }



大概長這樣
螢幕擷取畫面 2022-01-25 123252.png

然後就可以打包Java來測試了 記得把我上面的檔案丟到java的ext資料夾裡
螢幕擷取畫面 2022-01-25 123806.png
看到這個就代表成功上線

那我們再來新增一些東西 玩家創建角色提示:在你的DiscordMain.java新增


  public static void sendMessage(String msg) {
       textChannel.sendMessage(msg).queue();
    }


在MapleMap.java找這一串

World.Broadcast.broadcastMessage(MaplePacketCreator.getItemNotice("【歡迎】:" + chr.getName() + " 來到了"+ chr.getClient().getChannelServer().getServerName() +"!大家熱烈歡迎!"));

在他下面新增

DiscordMain.sendMessage("【歡迎】:" + chr.getName() + " 來到了"+ chr.getClient().getChannelServer().getServerName() +"!大家熱烈歡迎!");



好了後打包
成功
螢幕擷取畫面 2022-01-25 140809.png


可以做的功能還很多 就靠大家自己發揮了
我在8F新增了一些東西 http://www.xinbiao-aicl.com/foru ... =16822&fromuid=4745













瀏覽 5895 回復 10

您需要登錄後才可以回帖 登錄 | 註冊會員

返回頂部