ほとんどの場合、この問題は、たとえばメールメッセージを送信することで解決されます。 しかし、メッセージが最初に時間どおりに到着すること、そして次にメッセージがすぐに読み取られることを保証することはできません。 次に、管理者は、IMを使用すると考えます。 しかし、どのように? たとえば、画面の中心を常に開いたままにするには? 同意してください、最も虹のオプションではありません。
そのようなコードの例を挙げます。
そのような機能が必要になったとき、C、php、perl、pythonなどの一般的な言語の既存のソリューションを調べました。 既製のクラスを使用することを提案した人もいれば、モジュールのロードを使用する人もいました。 コードは途方もなくかさばって読めず、エレガントなソリューションを探していました。 そして、それはPythonで発見されました。
したがって、Linuxで作業することに同意しましょう。 実際、スクリプトはおそらくWindows上で動作するでしょうが、私はそのような目標を自問しませんでした。 実際には、python自体と、2つのモジュール-任意のdnsとxmpppyが必要です 。これらはDebianでpython-xmppパッケージで表されます。
スクリプトコードは次のとおりです。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import xmpp,sys
xmpp_jid = 'noreply@some.jabber.server'
xmpp_pwd = 'noreplypass'
to = sys.argv[1]
msg = sys.argv[2]
jid = xmpp.protocol.JID(xmpp_jid)
client = xmpp.Client(jid.getDomain(),debug=[])
client.connect()
client.auth(jid.getNode(),str(xmpp_pwd),resource='xmpppy')
client.send(xmpp.protocol.Message(to,msg))
client.disconnect()
スクリプトは、渡されたJIDとパスワードを使用して、サーバー上で承認され、メッセージを送信して接続を閉じます。 どこも簡単です。 スクリプト用に別のアカウントを作成する必要があります(ただし、jabberは異なるリソースとの複数の同時接続を許可します)。変数xmpp_jidおよびxmpp_pwdに資格情報を入力します。
コードをファイルに保存し、実行可能にし、実行します。 起動は次のとおりです。
/home/username/scripts/send_xmpp_message username@email.server.ru ", , "
幻想の飛行は無制限です。たとえば、わずかな変更を加えると、引数を渡したり、crontabを使用したり、スケジュールに従ってメッセージを送信したりする代わりに、データをスクリプトにリダイレクトすることが可能になります。