簡體   English   中英

Java的PircBot是否需要幫助來創建中繼機器人?

[英]PircBot with java need help creating relay bot?

我想幫助使用PircBot創建中繼機器人。 我希望它為每條消息發送一條消息到帶有該消息的通道。 我希望擁有這樣的多網絡。 我發出命令

if (split[0].equalsIgnoreCase(commandPrefix + "addnet")) {
    // sendRawLine("QUIT : joining " + split[1]);
    BrookieBot bot = new BrookieBot();
    bot.setVerbose(true);
    addnet = addnet + " " + split[1];
    try {
        bot.connect(split[1]);
        sendMessage("nickserv", "identify pass");
        bot.joinChannel("#brookies-use-of-bot");

    } catch (NickAlreadyInUseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IrcException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    bot = new BrookieBot();
    quit = 6;

    this.joinChannel("#brookies-use-of-bot");
}

這就是我使它連接到多個網絡的方式,但是我希望它重新調整網絡並在每次接收消息到該通道時都發送消息,而不管它是哪個網絡。 使消息采用以下格式: [<net>] [<sender>] [<message>] 謝謝你的幫助! 我有這個版本: http : //www.jibble.org/pircbot.php

我之前做了一個這樣的中繼機器人。 讓我們討論您的需求。

當漫游器在要中繼的通道中接收消息時,根據服務器和通道組合,使用一系列漫游器將漫游器發送到各自的通道,前提是:

  1. 循環中選擇的通道不是當前通道
  2. 該頻道在要同步的頻道列表中
  3. 發件人不是機器人名稱的一部分,以防止無限循環

退出,部分加入和其他您想要的任何事情也是如此。

1)PircBot不適用於多網絡。 而且,它有幾個設計問題。 我會推薦PircBotX。

2)如果您確實必須使用PircBot:

每個連接創建一個PircBot對象。
這將為每個PircBot創建一個線程。
然后,創建一個總線,該總線將在PircBot實例之間分發消息。
注意同步。

有關如何在PircBot對象外部發送消息的示例,請參見基於它的JawaBot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM