Excel VBAからIRCにメッセージを送信する方法

IrcPrint "#チャンネル名","送りたいメッセージ"

こんな感じでIRCの指定したチャンネルにメッセージを送り付けることができます。

事前準備

IRCサーバーと、IRCbot Consoleが必要です。
Debug.Print の出力先のようにIRCを使いたかったため、ここでは自前でIRCサーバーを立てることにしました。

IRCサーバーの立て方はこちらを参照

IRCbot Consoleのインストールから設定はこちらを参照

IRCbot Consoleはローカルホストに設定し、チャンネルは #ExcelVBAを作成しました。

上記の事前準備ができたら以下のExcel VBAコードでIRCの指定したチャンネルに任意のメッセージを出力できます。

IRCの指定したチャンネルに発言をするExcel VBAサンプル

Option Explicit

Const IRCBOT_SERVER = "http://127.0.0.1:8080"
Const IRCBOT_API = "/ircbot/talk"

Sub main()
    
    IrcPrint "#ExcelVBA", "現在時刻は" & Now & "です。"

End Sub

Sub IrcPrint(ByVal sChannel, ByVal sMsg As String)
    
    
    Dim sEncodeURL As String
    sEncodeURL = WorksheetFunction.EncodeURL(sMsg)
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", IRCBOT_SERVER & IRCBOT_API & _
              "?channel=" & WorksheetFunction.EncodeURL(sChannel) & _
              "&message=" & WorksheetFunction.EncodeURL(sMsg), False
        .Send
    End With

End Sub

出力結果

日本語はURLエンコードする必要がありましたので、上記のサンプルでは対策を入れてあります。

日本語はURLエンコードする必要がありましたので、途中から対策を入れてあります。

コメント

タイトルとURLをコピーしました