[Bukkit 1.7.2-1.11.2] チャットBOT ミントちゃん v2.5.0

サーバーMODやBUKKITのプラグインなどの公開/紹介を専門に行うフォーラムです。クライアントMODと組み合わせ必須の物はMOD公開/紹介フォーラムで公開してください。
フォーラムルール
クライアントMODと対にして使用する物は極力 MOD 公開/紹介 フォーラムにて公開するようお願いします。
本フォーラムではサーバーへの適用をメインとするサーバーMOD、プラグインを取り扱います。
不明な点は管理人ecolightまでお問い合わせ下さい。
  • (PostNo.236525)

[Bukkit 1.7.2-1.11.2] チャットBOT ミントちゃん v2.5.0

投稿記事by ucchy » 2015年6月27日(土) 16:20

ダウンロード

概要

特定のチャット発言に反応して、自動応答を行うBOTプラグインです。チャットを使った簡単なお遊びにお使いください。

  • ウェルカムメッセージ
    誰かがサーバーに参加したときに、BOTからようこそメッセージを送信します。
     
  • 簡易応答
    あらかじめ指定しておいたキーワードに対して、返信を行います。
    キーワードは正規表現で、柔軟に指定することが可能です。
    返信は、複数パターン用意して、ランダムに返答することが可能です。
    キーワードと返信のセットは、プラグイン導入後に生成される「plugins\MintChatBot\responces.txt」で設定可能です。
    画像
     
  • URL調査
    誰かがチャットにURLを貼った時に、自動的に接続して、接続可能かどうかと、接続先のページタイトルを取得して返信します。
    返信のメッセージフォーマットは、プラグイン導入後に生成される「plugins\MintChatBot\messages.txt」で指定可能です。
    画像
     
  • 時報・アラーム・繰り返し通知
    あらかじめ指定しておいた時刻に、毎日時報を流すことが可能です。
    また、日時+時刻を指定して、アラームメッセージを流すことも可能です。
    さらに、○分ごとに繰り返してメッセージ通知を流すことも可能です。
    時刻とメッセージのセットは、プラグイン導入後に生成される「plugins\MintChatBot\timesignals.txt」で設定可能です。
    画像
     
  • LunaChat連携
    LunaChatのグローバルチャットまたはブロードキャストチャットを設定したチャンネル全てに、Botが反応します。
    Botの返信は、各チャンネルに直接送信されます。
     
  • IRC接続
    IRCサーバーの特定のチャンネルに対して、Botとして接続します。
    接続後は、Minecraft側の全てのチャット発言と、LunaChatの全てのブロードキャストチャンネルのチャット発言を、IRCにも表示することができます。
    また逆に、IRC側の発言を、Minecraftサーバーにも表示します。
    IRC接続設定はデフォルトではオフなので、利用する場合は、セットアップを行ってオンにしてください。
    画像
     


使い方

BukkitChatBot.jar を plugins フォルダに入れて、CraftBukkitを起動してください。IRC連携を使わない場合は、そのまま利用できます。

IRC連携をセットアップするには、CraftBukkit起動後に生成される「plugins\MintChatBot\config.yml」を開いて、下記の設定を行ってください。
  • enabled: false
    → false を true に変更
  • serverHostname: 'irc.friend-chat.jp'
    → 接続したいIRCサーバーのホスト名を設定
  • serverPort: 6665
    → 接続したいIRCサーバーのポート番号を設定
  • channel: ''
    → 接続したいチャンネル名を設定
  • nickname: 'MintChan'
    → 使用したいBotのニックネームを設定
設定が完了したらconfig.ymlを保存し、
/bot reload コマンドを実行して config.yml を読み直して、
/irc connect コマンドを実行してチャンネルへ接続してください。

コマンド

Bot用コマンドは /chatbot です。パーミッションノードは「chatbot.command」です。デフォルトで全てのプレイヤーが実行権限を持っています。
省略形として /bot と /cb が利用できます。
  • /bot ask (メッセージ) - BOTに個別に質問を投げかけます。BOTからの返信は、個別に届きます。動作確認などにご利用ください。
  • /bot reload - 設定ファイル(config.yml、responces.txt、timesignals.txt、messages.txt)を再読み込みします。
      実行には chatbot.command.reload パーミッションが必要です。OPは最初から実行権限を持っています。

IRC用コマンドは /ircbot です。パーミッションノードは「chatbot.irc.command」です。OPは最初から実行権限を持っています。
省略形として /irc と /ib が利用できます。
各サブコマンドの個別パーミッションは、「chatbot.irc.(サブコマンド名)」です。
例)/irc connect コマンド → chatbot.irc.connect
  • /irc connect - チャンネルに接続します。
  • /irc disconnect - チャンネルから切断します。
  • /irc reconnect - チャンネルに再接続します。
  • /irc message (message) - チャンネルに発言します。
  • /irc op (target) - 指定したニックネームのユーザーに、チャンネル管理者を与えます。IRCBotがチャンネル管理者である必要があります。
  • /irc kick (target) [reason] - 指定したニックネームのユーザーを、チャンネルからキックします。IRCBotがチャンネル管理者である必要があります。



コンフィグ

config.yml
コード: 全て選択
# MintChatBot v2.5.0
# @author     ucchy
# @license    LGPLv3
# @copyright  Copyright ucchy 2014

# -------------------- 一般設定 --------------------

# Botの名前。
botName: 'ミントちゃん'

# レスポンスのフォーマット。
responceFormat: '<&e%botName&f> %responce'

# チャットに対する自動応答をするかどうか。自動応答の内容は、responces.txt で設定できます。
responceChat: true

# サーバー参加に対する自動応答をするかどうか。応答メッセージは、messages.txt で設定できます。
responceJoinServer: true

# URLを含んだチャット発言がされたときに、URL先のタイトルを取得するかどうか。
# 応答メッセージは、messages.txt で設定できます。
getURLTitle: true

# 時報を使用するかどうか。時報の内容は timesignals.txt で設定できます。
timeSignals: true

# アラームを使用するかどうか。アラームの内容は timesignals.txt で設定できます。
alermSignals: true

# 繰り返し通知を使用するかどうか。通知の内容は timesignals.txt で設定できます。
repeatSignals: true

# 発言に対して応答するまでの遅延時間(tick)。10~15ticksくらいを指定するとちょうどいいみたいです。
responceDelayTicks: 15

# -------------------- IRC連携設定 --------------------
irc:
  # IRC連携を利用するかどうか。
  enabled: false

  # IRCのチャットに対する自動応答をするかどうか。
  responceChat: true

  # IRCのチャンネル参加に対する自動応答をするかどうか。
  responceJoinServer: true

  # IRCにURLを含んだチャット発言がされたときに、URL先のタイトルを取得するかどうか。
  getURLTitle: true

  # 接続先のIRCサーバー。
  serverHostname: 'irc.friend-chat.jp'

  # 接続先のIRCサーバーのパスワード。不要なら空にしてください。
  serverPassword: ''

  # 接続先のIRCサーバーのポート番号。
  serverPort: 6665

  # 接続先のチャンネル名。設定例→  channel: '#MintChanServer'
  channel: ''

  # BOTのニックネーム。
  nickname: 'MintChan'

  # BOTのニックネームのパスワード。不要なら空にしてください。
  nickservPassword: ''

  # 接続先のIRCサーバーの文字コード。
  # 日本のIRCサーバーは、'ISO-2022-JP'(JIS) がよく使われています。
  encoding: 'ISO-2022-JP'

  # IRCサーバーから切断するときのメッセージ
  quitMessage: 'さよなら!またね!'



messages.txt
コード: 全て選択
# MintChatBot v2.5.0
# @author     ucchy
# @license    LGPLv3
# @copyright  Copyright ucchy 2014


# ========== サーバー参加に対するメッセージ ==========

# プレイヤーがサーバーに参加したときの応答内容。
# 空文字列を設定すると(joinResponce: '')、応答を無効化できます。
joinResponce: %playerさんいらっしゃいませ!

# プレイヤーがサーバーに初参加したときの応答内容。
# 空文字列を設定すると(firstJoinResponce: '')、応答を無効化できます。
firstJoinResponce: %playerさんが&cサーバーに初参加&fです!\nようこそいらっしゃいませ!!


# ========== URL応答メッセージ ==========

# URLのタイトルを取得したときの応答内容。空文字列を設定すると、応答を無効化できます。
getURLTitleSuccess: %playerさんの貼ったURLは、"%title"というタイトルです。

# URLのタイトルが取得できなかったときの応答内容。空文字列を設定すると、応答を無効化できます。
getURLTitleFail: %playerさんの貼ったURLは、タイトルが取得できませんでした…

# URLが接続できなかったときの応答内容。空文字列を設定すると、応答を無効化できます。
getURLTitleNotFound: %playerさんの貼ったURLは、接続できませんでした…


# ========== IRC連携メッセージ ==========
# IRC連携に関するメッセージ設定ファイルです。
# IRC連携をしていないなら、使用されません。

# IRC側に流れるメッセージです。
minecraft_server: &4* %message
minecraft_chat: %prefix<%name>%suffix %message
minecraft_join: &6* %name さんがサーバーに参加しました。
minecraft_quit: &6* %name さんがサーバーから退出しました。
minecraft_kick: &4* %name さんがサーバーからキックされました。&r(%reason&r)

# Minecraft側に流れるメッセージです。
irc_connect: &eIRCサーバーに接続しました。
irc_disconnect: &eIRCサーバーから切断しました。
irc_chat: &7(%name@irc) &f%message
irc_join: &b* %name さんがIRCチャンネルに参加しました。
irc_part: &b* %name さんがIRCチャンネルから退出しました。&r(%reason&r)
irc_quit: &b* %name さんがIRCから退出しました。&r(%reason&r)
irc_kick: &c* %name さんがIRCチャンネルからキックされました。&r(%reason&r)



responces.txt
コード: 全て選択
# MintChatBot v2.5.0
# @author     ucchy
# @license    LGPLv3
# @copyright  Copyright ucchy 2014

# 自動応答に関する設定ファイルです。
#
# : の左側が正規表現キーワード、右側がレスポンス内容です。
# キーワード側の行頭に @ をつけると、そのレスポンスは連続して送信されなくなります。
# キーワード側の行頭に > をつけると、そのレスポンスは発言者のみに送信されます。
# レスポンス側にはキーワードが使用可能です。
#   %player -> プレイヤー名
#   %random_player -> ログインしているプレイヤーから、ランダムに選ばれた1人のプレイヤー名
#   %time -> 現在の時間
#   %date -> 今日の日付
#   %1 ~ %9 -> キーワードマッチング時の正規表現グループ指定
#   @learn 応答=レスポンス -> 新しい応答を覚えます
#   @forget 応答 -> 指定された応答を忘れます
#   @command[ ... ] -> 発言したプレイヤーの実行権限で、コマンドを実行する
#   @command_bypass[ ... ] -> コンソールの実行権限で、コマンドを実行する

# 挨拶に関連するレスポンス。
@[hH]i[.! ]?.* : いらっしゃいませ!
@おはよう : %playerさん、おはようございます!
@こんにち(は|わ)(!|!|。)? : %playerさん、こんにちは!
@こんばん(は|わ)(!|!|。)? : %playerさん、こんばんは!
@さよう?なら(!|!|。)? : %playerさん、さようなら! また来てくださいね!
(初見|所見) : %playerさんいらっしゃいませ! お茶をどうぞ

# ランダムな返答を行うレスポンス。ちょっとしたゲームに使えるかも。
占い : 今日のあなたの運勢は、[(大吉|中吉|小吉|末吉|凶|大凶)]です!
(さいころ|サイコロ) : (´・ω・)つ[(&c01|&a02|&b03|&d04|&e05|&f06)&r]
(じゃんけん|ジャンケン).* : じゃんけん![(&cパー|&aグー|&bチョキ)&r]!
プラン : (明日|今日|昨日)から(Aプラン|Bプラン|Cプラン)をしてください!
次の鬼 : 次の鬼は %random_player さんです!
>こっそり教えて : 実は私は、(ナイスバディ|忍者|ふなっしーの中の人)です!

# 雑多なレスポンス。いろいろおもしろい設定を追加していきましょう。
(.*)を?ください(!|。)? : %1ですどうぞ!
(いま|今)(なんじ|何時|の時間|のじかん)??.* : %timeです。
(きょう|今日)は?(なんにち|何日)??.* : %dateです。
⑨ : (チルノのことか~!|あたいったらサイキョーね!)
マスター、?いつもの : %playerさんどうぞ。(´・ω・)つ[(ジントニック|モスコミュール|カシスグレープ|梅酒|日本酒|焼酎お湯割り|芋焼酎ロック|麦茶|青汁|カレーライス|水|ガソリン|白乾児|ハイオク満タン)]
マスター、?おかわり : %playerさん、しかたないですね、どうぞ。(´・ω・)つ[カレーライス]
\(\*?´ω`\*?\) : 流行らないし流行らせない
.*パンツの?色.* : おまわりさん、こいつです!
.*パンツを?見.* : おまわりさん、こいつです!

# ミントちゃんに関連するレスポンス。BOT名を変えるならこの辺りは要らないかも。
(ミント|みんと)(ちゃん)?(かわいい|物知り).* : 当然です!
ミントティー : (ミントミント~♪|爽やか~)

# 学習機能に関連するレスポンス。
教育[  ](.+)[==](.+) : @learn %1=%2
忘却[  ](.+) : @forget %1

# コマンド実行を伴うレスポンスの例。
# リスポーン地点にテレポートして : リスポーン地点にテレポートしますね! @command_bypass[tp %playerName 100 65 100]
# バージョン情報 : バージョン情報を表示いたします!@command[ver] @command[ver MintChatBot]



timesignals.txt
コード: 全て選択
# MintChatBot v2.5.0
# @author     ucchy
# @license    LGPLv3
# @copyright  Copyright ucchy 2014


# 時報とアラームと繰り返し通知に関する設定ファイルです。
# 不要なものはコメントアウト(行の最初に # )してください。


# ========== 時報の設定 ==========
# : の左側が時刻、右側が時報の内容です。
# 時刻は1分単位で設定が可能です。hhmm の形式で、4桁数字で指定してください。
# 例)9時32分 → 0932

0000 : 深夜0時です。\n皆さん、おやすみなさい!!
# 0100 : 深夜1時です。\nそろそろお布団に入りましょうね…zzz
# 0200 : 深夜2時です。\nお~ば~け~が~で~る~よ~~
# 0300 : 深夜3時です。\nこんなに夜更かししてだいじょうぶですか?
# 0400 : 朝4時です。\n朝早いですね!…あっ、もしかして夜更かしですか?
# 0500 : 朝5時です。\nおはようございます!もうすっかり朝ですね!
# 0600 : 朝6時です。\nおはようございます……zzz\nハッ、2度寝するところでした…っ!
0700 : 朝7時です。\nおはようございます!今日もいい一日になるといいですね!
# 0800 : 朝8時です。\n今日も1日、元気にいきますよっ!!
# 0900 : 朝9時です。\n木を切って原木を集めましょう!マインクラフトの基本ですよ!
# 1000 : 朝10時です。\n調子はどうですか?コーヒーを淹れますねっ!
# 1100 : お昼11時です。\n建築の進み具合はいかがですか??
1200 : お昼12時です。\nお昼ごはんは何にしようかな♪
# 1300 : お昼1時です。\nお昼ごはん食べた後は眠くなります……zzz
# 1400 : お昼2時です。\nダイアモンドを探しに、洞窟に行ってきますね!
1500 : お昼3時です。\nおやつのケーキと紅茶を用意しますね!
# 1600 : お昼4時です。\nあうぅぅ…レッドストーン回路はわからないですぅ\n考えすぎて目が回ってきちゃいました…@_@;
# 1700 : 夕方5時です。\nそろそろ皆さん、サーバーに集まる頃ですね!
# 1800 : 夕方6時です。\n今日の晩御飯のために、豚さんを狩ってきますね!\n…待ってー、そこの豚さん!!
1900 : 夕方7時です。\n晩御飯は何を食べたいですか?
# 2000 : 夜8時です。\nまだやり残した事があるなら、一気に終わらせちゃいましょうね!
# 2100 : 夜9時です。\n今日はどんな一日でしたか?
# 2200 : 夜10時です。\nそろそろ寝る仕度をしましょうね!\nちゃんと歯磨きをしましたか?
# 2300 : 夜11時です。\n眠くなってきたけれど、もうちょっとだけ遊んでいたいですっ


# ========== アラームの設定 ==========
# : の左側が時刻、右側がアラーム通知の内容です。
# 時刻は日付込みで、1分単位で設定が可能です。
# mmddhhmm の形式で、8桁数字で指定してください。
# 例)9月23日15時05分 → 09231505
# 年は指定できません。

# 09220001 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09220201 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09220401 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09220601 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09220801 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09221001 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09221201 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09221401 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09221601 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09221801 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09222001 : 今日は私の誕生日です!皆さん祝ってくださいね!!
# 09222201 : 今日は私の誕生日です!皆さん祝ってくださいね!!


# ========== 繰り返し通知の設定 ==========
# : の左側が繰り返し間隔(分)、右側が通知の内容です。
# 繰り返し間隔は、頭に R を付けて、その後ろに間隔を分で指定してください。
# 例1)5分ごとに通知する
# R5 : ミントちゃんは元気です!!
# 例2)30分ごとに通知する
# R30 : &cどなたか、私の粘土をダイアモンドに交換してください!!
# 例3)3時間(180分)ごとに通知する
# R180 : &eお店エリアは&a絶賛稼働中&eです!ぜひ遊びにきてくださいね!!

# R60 : ミントちゃんサーバーは&a絶賛稼働中&fです!




正規表現の使い方

responces.txt には、正規表現を指定することができますが、知らない人にはちょっと難しいかも知れません。
ここに、簡単な例を書いておきます。参考にしてくださいね。
もしもっと深く知りたい場合は、ググってみてください。

  • ピリオド . - 任意の一文字にマッチします。
     
    正規表現)お.よう
    マッチする文字列の例)おはよう おそよう おれよう
     
    正規表現)こん..は
    マッチする文字列の例)こんにちは こんばんは こんこんは こんんんは
     
  • クエスチョン ? - 直前の文字が0個または1個である場合にマッチします。あってもなくてもいいものを指定できるわけです。
     
    正規表現)さよう?なら
    マッチする文字列の例)さようなら さよなら
     
  • プラス + - 直前の文字が1個以上の複数個である場合にマッチします。
     
    正規表現)おー+い
    マッチする文字列の例)おーい おーーーい おーーーーーーーーーーーーーい
     
  • アスタリスク * - 直前の文字が0個以上の複数個である場合にマッチします。プラスと違って、0個でもマッチします。
     
    正規表現)おー*い
    マッチする文字列の例)おい おーい おーーーい おーーーーーーーーーーーーーい
     
  • カッコ ( ) - 文字列をグループ化します。グループ化された文字列は、まとめて*や+などを利用することができます。
     
    正規表現)(オレ)*オ
    マッチする文字列の例)オ オレオ オレオレオ オレオレオレオレオレオ
     
  • パイプ | - パイプの前後の文字列どちらかがあればマッチします。
     
    正規表現)こん(にち|ばん)は
    マッチする文字列の例)こんにちは こんばんは
     
    正規表現)(いま|今)(なんじ|何時|の時間は)?
    マッチする文字列の例)いまなんじ? 今なんじ? 今の時間は?
     
    正規表現)(.*)を?ください(!*|。)?
    マッチする文字列の例)ダイアをください お金をください!!!! 彼女ください。
     
  • 円マーク(バックスラッシュ) \ - 次の文字をエスケープします。
    上記のとおり、ピリオドやアスタリスクは特殊な文字なので、そのままではマッチングに利用できません。
    ただし、直前に円マークを挿入すると、その特殊な文字の効果を無しにすることができます。
     
    正規表現)config\.yml
    マッチする文字列の例)config.yml
     
    正規表現)\(\*?´ω`\*?\)(コレハハヤル)?
    マッチする文字列の例)(*´ω`*) (´ω`)コレハハヤル
     
  • ブラケット [ ] - 指定された文字のどれかにマッチします。
     
    正規表現)今日は[日月火]曜日!
    マッチする文字列の例)今日は日曜日! 今日は月曜日! 今日は日曜日!
     
    ※上記の例では、 今日は(日|月|火)曜日! と書くこともできますね。
     
  • ブラケットとハット [^ ] - 指定された文字のどれかが含まれているとマッチしません。
    上記のブラケットのみの場合と、真逆になります。
     
    正規表現)今日は[^日月火]曜日!
    マッチする文字列の例)今日は水曜日! 今日は木曜日! 今日は金曜日! 今日は土曜日!



ソースコードとライセンス

ソースコードはGithubで管理しています。
https://github.com/ucchyocean/MintChatBot
ライセンスは LPGLv3 を適用します。ライセンス条文は下記を参照してください。
http://sourceforge.jp/magazine/07/09/05/017211


その他

旧バージョン(BukkitChatBot v1.0.1)とは互換性がありませんので、旧バージョンをお使いの方は恐れ入りますが、config.yml などの設定ファイルを再生成してお使いください。

もし不具合や機能追加要望などありましたら、このトピックで扱いますので、返信にてご連絡くださいませ。

面白い応答データや、返信機能の案を募集しています!
面白いものは加えさせていただきますので、ぜひぜひこのトピックに返信で教えてくださいね!
最後に編集したユーザー ucchy [ 2017年1月24日(火) 09:03 ], 累計 15 回
――お知らせ――
パソコンが壊れたため、買い替えるまで、プラグイン開発作業はお休みしています。簡単な質問程度ならお答えいたします。
――お知らせ――
アバター
ucchy
ID:977198e1
ラピスラズリ収集家
 
記事: 1170
登録日時: 2012年11月07日(水) 00:08

  • (PostNo.237071)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.0

投稿記事by kotarobo » 2015年7月01日(水) 12:30

IRC対応ありがとうございます!
後日使わせていただきますヾ(⌒(_'ω')_
kotarobo
ID:3f9e7a96
 

  • (PostNo.237080)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.0

投稿記事by KAZUTO0110 » 2015年7月01日(水) 16:28

要望なんですが・・・嫌だったらすいません。
このプラグインを使用していこうと思っているのですが,
時報機能あるならば[Automessenger]要らないじゃん。プラグイン数減って便利!と思ったんですね。
難点が,定期間隔でメッセージが送信できないこと(日時指定しなければいけない)で,
もし実装可能で,時間があるならば,是非『指定した分(秒)間隔でメッセージを送信する』機能を実装お願いします。
突然で「何言ってるんだこいつ。」と思うかもしれませんが,検討のほど宜しくお願いします
KAZUTO0110
ID:918e01b8
石掘り
 
記事: 114
登録日時: 2013年6月22日(土) 21:04
お住まい: 日本 関東地方 茨城県

  • (PostNo.237146)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.0

投稿記事by ucchy » 2015年7月02日(木) 03:15

kotaroboさん、ご連絡ありがとうございます。また、ご要望ありがとうございました。

kotarobo さんが書きました:IRC対応ありがとうございます!
後日使わせていただきますヾ(⌒(_'ω')_


また、使ってみた感想をお聞かせくださいね。



KAZUTO0110さん、ご検討に入れていただき、ありがとうございます。

KAZUTO0110 さんが書きました:要望なんですが・・・嫌だったらすいません。
このプラグインを使用していこうと思っているのですが,
時報機能あるならば[Automessenger]要らないじゃん。プラグイン数減って便利!と思ったんですね。
難点が,定期間隔でメッセージが送信できないこと(日時指定しなければいけない)で,
もし実装可能で,時間があるならば,是非『指定した分(秒)間隔でメッセージを送信する』機能を実装お願いします。
突然で「何言ってるんだこいつ。」と思うかもしれませんが,検討のほど宜しくお願いします


なるほど、定期的にBOTが喋る機能ですね。いいと思いますよ。
次のバージョンアップの時に検討にいれてみますね。
――お知らせ――
パソコンが壊れたため、買い替えるまで、プラグイン開発作業はお休みしています。簡単な質問程度ならお答えいたします。
――お知らせ――
アバター
ucchy
ID:977198e1
ラピスラズリ収集家
 
記事: 1170
登録日時: 2012年11月07日(水) 00:08

  • (PostNo.237270)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.0

投稿記事by kotarobo_ » 2015年7月03日(金) 18:48

IRCの連携が非常に簡単で助かりました!
またあまりbot機能には目を向けていなかったのですが、簡単な質問に答えるなどの機能が
住民さんの遊ぶ時間を削がないで済みそうです。
気になる点があるとしたら自動返答の.?*!などどのように記述すればいいかがわからなかったので
もう少し簡単な例を一緒に記載していただけるとうれしいですヾ(:3 」∠)_

あとこれはLunaChat側になるのかもなのですがdynmapからメッセージを送信した際、ブロードキャストで全体に発言はできるのですがその発言自体はdynmapに表示されず、
今までは気にしてはいなかったのですがその発言をミントちゃんが拾うことが出来ないようでIRC側に表示されないようです。
設定がおかしいのか不具合・仕様なのかがわからなかったためアドバイスをもらえるとうれしいです。
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.237271)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.0

投稿記事by kotarobo_ » 2015年7月03日(金) 18:52

あとミントちゃんのお絵かきをしてHPにミントちゃんとして掲載するのは大丈夫でしょうか・3・?非公認で大丈夫ですので

どうもスタッフと相談した所名前を付けてそれに合わせて描こうという感じになりました。お騒がせしましたー
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.237543)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.0

投稿記事by ucchy » 2015年7月05日(日) 18:12

KAZUTO0110さん、
指定した分ごとにBOTがメッセージ通知を喋る機能を追加しました。
timesignals.txt ファイルに、下記のように設定してください。

コード: 全て選択
# 例1)5分ごとに通知する
R5 : ミントちゃんはかわいい!

# 例2)3時間(180分)ごとに通知する
R180 : &eお店エリアは&a絶賛稼働中&eです!ぜひ遊びにきてくださいね!!


設定についてご不明な点がありましたら、お知らせくださいね。



kotarobo_さん、導入いただきありがとうございます。

kotarobo_ さんが書きました:気になる点があるとしたら自動返答の.?*!などどのように記述すればいいかがわからなかったので
もう少し簡単な例を一緒に記載していただけるとうれしいですヾ(:3 」∠)_


ああ、確かに正規表現は知らない人にとってはどうしていいか解らないですね・・・

ここに、軽く例を挙げておきます。(また今度、時間が有る時にまとめておきます。)

  • ピリオド . - 任意の一文字にマッチします。
     
    正規表現)お.よう
    マッチする文字列の例)おはよう おそよう おれよう
     
    正規表現)こん..は
    マッチする文字列の例)こんにちは こんばんは こんこんは こんんんは
     
  • クエスチョン ? - 直前の文字が0個または1個である場合にマッチします。あってもなくてもいいものを指定できるわけです。
     
    正規表現)さよう?なら
    マッチする文字列の例)さようなら さよなら
     
  • プラス + - 直前の文字が1個以上の複数個である場合にマッチします。
     
    正規表現)おー+い
    マッチする文字列の例)おーい おーーーい おーーーーーーーーーーーーーい
     
  • アスタリスク * - 直前の文字が0個以上の複数個である場合にマッチします。プラスと違って、0個でもマッチします。
     
    正規表現)おー*い
    マッチする文字列の例)おい おーい おーーーい おーーーーーーーーーーーーーい
     
  • カッコ ( ) - 文字列をグループ化します。グループ化された文字列は、まとめて*や+などを利用することができます。
     
  • パイプ | - パイプの前後の文字列どちらかがあればマッチします。
     
    正規表現)こん(にち|ばん)は
    マッチする文字列の例)こんにちは こんばんは
     
    正規表現)(いま|今)(なんじ|何時|の時間は)?
    マッチする文字列の例)いまなんじ? 今なんじ? 今の時間は?
     
    正規表現)(.*)を?ください(!*|。)?
    マッチする文字列の例)ダイアをください お金をください!!!! 彼女ください。
     
  • 円マーク(バックスラッシュ) \ - 次の文字をエスケープします。
    上記のとおり、ピリオドやアスタリスクは特殊な文字なので、そのままではマッチングに利用できません。
    ただし、直前に円マークを挿入すると、その特殊な文字の効果を無しにすることができます。
     
    正規表現)plugin\.yml
    マッチする文字列の例)plugin.yml
     
    正規表現)\(\*?´ω`\*?\)(コレハハヤル)?
    マッチする文字列の例)(*´ω`*) (´ω`)コレハハヤル

もし、まだ解らないところがありましたら、聞いてくださいね。


kotarobo_ さんが書きました:あとこれはLunaChat側になるのかもなのですがdynmapからメッセージを送信した際、ブロードキャストで全体に発言はできるのですがその発言自体はdynmapに表示されず、
今までは気にしてはいなかったのですがその発言をミントちゃんが拾うことが出来ないようでIRC側に表示されないようです。
設定がおかしいのか不具合・仕様なのかがわからなかったためアドバイスをもらえるとうれしいです。


LunaChat側の話ですね。

うーん、LunaChat で dynmap 対応した当初は表示されていたはずなのですが、1.8 以降では表示できなくなってしまったようです。
dynmap が仕様を変更したみたい?
調査して、対応をいれてみますね。


kotarobo_ さんが書きました:
あとミントちゃんのお絵かきをしてHPにミントちゃんとして掲載するのは大丈夫でしょうか・3・?非公認で大丈夫ですので

どうもスタッフと相談した所名前を付けてそれに合わせて描こうという感じになりました。お騒がせしましたー


そうですね、サーバーオリジナルキャラを作ると、より一層楽しくなると思いますよ。


デフォ子としての、ミントちゃんの公式キャラ絵も、誰か書いてくれないかなぁ?(チラッチラッ
――お知らせ――
パソコンが壊れたため、買い替えるまで、プラグイン開発作業はお休みしています。簡単な質問程度ならお答えいたします。
――お知らせ――
アバター
ucchy
ID:977198e1
ラピスラズリ収集家
 
記事: 1170
登録日時: 2012年11月07日(水) 00:08

  • (PostNo.237560)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by KAZUTO0110(未ログイン) » 2015年7月05日(日) 19:39

定期通知機能ありがとう御座います!
サーバーを稼働した際に確認します!
KAZUTO0110(未ログイン)
ID:918e01b8
 

  • (PostNo.237760)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by kotarobo_ » 2015年7月07日(火) 07:15

ここに、軽く例を挙げておきます。(また今度、時間が有る時にまとめておきます。)


ありがとうです(*´ω`*)!

公式キャラを描ける技量はないですがファンアートはまた描きたいですヾ(⌒(_'ω')_

けもいのしか描いたことなくて万人用には( '﹃' )アバー
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.238127)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by 紅しち » 2015年7月10日(金) 12:05

IRC連携に対応したという事でさっそく導入してみました。
PurpleIRCから移行して気になった事をいくつか

・IRC側で色付きチャットをした際に マイクラ側では色が表示されない(09などの数字が先頭につく)
・Dynmapにて入力した文字がIRC上に表示されない(逆はPurpleIRCも出来ない)
・IRC側に流れる サーバーへ参加・退出の表示をOFFにすることが出来ない

使ってみて以上の点が気になりました対応できるようであれば宜しくお願いします。

上記とは関係ないですが自サバで使っている応答データです
コード: 全て選択
(さいころ|サイコロ) : (´・ω・)つ [ (&c01&r|02|03|04|05|06) ]

みんなで順番などを決めるときに使えます
良かったらお試しください。
アバター
紅しち
ID:8572da62
木を殴ってる
 
記事: 15
登録日時: 2014年9月22日(月) 00:40
お住まい: すももサーバー

  • (PostNo.238154)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by kotarobo_ » 2015年7月10日(金) 18:32

あったらうれしいなーと思う機能なのですが
・ミントちゃん用のプライベートメッセージコマンド
これはおみくじなど皆で遊ぶと楽しいのですが、普段使いの質問でもグローバルチャットの領域を狭める形となってしまっているので
もしよかったら個人からの質問に対応してもらえるとうれしいです。
またそれに伴い
・ミントちゃんに質問した際、理解できなかった時の返答用正規表現
・理解できなかった時のワードを記録する機能
があればその記録を参考にしながら返答を書くとミントちゃんがどんどん賢くなるかな?と思いました。
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.238712)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by ucchy » 2015年7月15日(水) 01:15

紅しちさん、ご意見ありがとうございます。とても参考になります。

紅しち さんが書きました:IRC連携に対応したという事でさっそく導入してみました。
PurpleIRCから移行して気になった事をいくつか

・IRC側で色付きチャットをした際に マイクラ側では色が表示されない(09などの数字が先頭につく)


これは不具合っぽいですね・・・ 次バージョンで修正します。

紅しち さんが書きました:・Dynmapにて入力した文字がIRC上に表示されない(逆はPurpleIRCも出来ない)


これは、kotarobo_さんもおっしゃっていた件ですね。
LunaChat側での修正を検討中です。

紅しち さんが書きました:・IRC側に流れる サーバーへ参加・退出の表示をOFFにすることが出来ない


なるほど、これも次バージョンで機能を追加しますね。


紅しち さんが書きました:上記とは関係ないですが自サバで使っている応答データです
コード: 全て選択
(さいころ|サイコロ) : (´・ω・)つ [ (&c01&r|02|03|04|05|06) ]

みんなで順番などを決めるときに使えます
良かったらお試しください。


なるほど、面白いですね!こっそりと、デフォルトの応答メッセージに忍ばせておきますw



kotarobo_さん、ご意見ありがとうございます。

kotarobo_ さんが書きました:あったらうれしいなーと思う機能なのですが
・ミントちゃん用のプライベートメッセージコマンド
これはおみくじなど皆で遊ぶと楽しいのですが、普段使いの質問でもグローバルチャットの領域を狭める形となってしまっているので
もしよかったら個人からの質問に対応してもらえるとうれしいです。


うーん、なるほど・・・
例えば、
/bot ask (メッセージ)
みたいなコマンドでいいですかね。
もしオリジナルなコマンドにしたいなら、commands.yml ファイルで、/tell ミントちゃん %1 などに変更するといいですかね?

kotarobo_ さんが書きました:またそれに伴い
・ミントちゃんに質問した際、理解できなかった時の返答用正規表現


設定ファイル responces.txt に書いた応答データは、上から順番にマッチするかどうかを確認するので、例えば、
ミントちゃん、?今日の気分を教えて.* : (るんるんです~♪|爽やかです~♪|楽しいです~♪)
ミントちゃん、?(初期)?(リスポ|リスポーン)(地点)?を教えて.* : 10 65 -200 です!
ミントちゃん、?(.*)を教えて.* : %1はわかりません!><

このように書くと、1行目にも2行目にもマッチしないなら、3行目の応答が実行されます。

kotarobo_ さんが書きました:・理解できなかった時のワードを記録する機能
があればその記録を参考にしながら返答を書くとミントちゃんがどんどん賢くなるかな?と思いました。


ワードの記録は、今のところできないですね。
確かに、覚えて賢くなる機能は欲しいですね。
イメージ的には、棒読みちゃんの「教育(単語=よみ)」と、「忘却(単語)」みたいな感じですかねー?
――お知らせ――
パソコンが壊れたため、買い替えるまで、プラグイン開発作業はお休みしています。簡単な質問程度ならお答えいたします。
――お知らせ――
アバター
ucchy
ID:977198e1
ラピスラズリ収集家
 
記事: 1170
登録日時: 2012年11月07日(水) 00:08

  • (PostNo.239124)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by kotarobo_ » 2015年7月18日(土) 22:53

/bot ask (メッセージ)
みたいなコマンドでいいですかね。
もしオリジナルなコマンドにしたいなら、commands.yml ファイルで、/tell ミントちゃん %1 などに変更するといいですかね?

ですですー。

マッチングの方法なるほどでした!ありがとーヾ(:3ノシヾ)ノシ

記録する機能はどんな回答で答えれなかったのかメモに残しておきたかったぐらいのもので
無くてもチャットの様子見ながら対応できるので頑張りますっ

棒読みちゃんのような教育機能はIRCとLunaChatを経由する時に勝手に文字入れ替えちゃうようなイタズラ機能があっても面白いかもしれませんね・・・w

あと編集しているスタッフからの要望があったので
下記に張っておきますね(:3_ヽ)_

1.クールタイムはつけれませんか?
サーバーでは挨拶すると多数の人が「こんにちは」などの挨拶をします。
それを拾うと多くの人に反応してしまうので、1つの発言をした後には一定時間反応しなくなるようにしておきたいです。
例としては「こんにちは」と出力された後に、数秒反応しなくなるようなもの。
反応チックとは別に、コマンド全体もしくは単体に任意のクールタイムを付加できるようになれば嬉しいです。

2.繰り返し通知のRについて
Rのあとにランダムで様々なものを通知したい場合や、任意の順番に発言するようなものにはできますか?
通知でサーバーのアップデート情報などをユーザーに伝えるのに管理的にも便利ですので、活用していきたいと思ってます。
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.239248)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.0.1

投稿記事by kotarobo_ » 2015年7月19日(日) 20:57

あとLunaChatにおいてローカルチャンネル(range制限チャンネル)においてbroadcastをtrueにしないと機能しないのですがそれをミントちゃんが拾ってしまい独り言をしゃべっている感じです。

こた鯖のミントちゃんはおあげちゃんという名前になりました ₍₍ ◝('ω'◝) ⁾⁾ ₍₍ (◟'ω')◟ ⁾⁾
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.239340)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.1.0

投稿記事by ucchy » 2015年7月20日(月) 13:34

ミントちゃん v2.1.0 をリリースします。

【不具合修正】
  • issue #1 IRC側で色付きチャットをした際に マイクラ側では色が表示されない(09などの数字が先頭につく)
  • issue #7 LunaChat連携で、範囲チャットを自動応答の対象外にしてほしい
  • issue #9 responces.txt の検証される順序がバラバラ

【機能追加】
  • issue #3 プライベートメッセージコマンドを追加してほしい
    「/bot ask (メッセージ)」コマンドで、ミントちゃんに個別に質問して、個別に回答してもらうことができます。
    自動応答の動作確認などにご利用ください。
     
  • issue #4 Dynmapに入力した文字を、IRCにも転送して欲しい
    ミントちゃん経由で、dynmap-web ← Minecraft → IRC の相互会話ができるようになりました。
    もちろん、IRCの発言は dynmap-web で参照できますし、dynmap-web の発言はIRCにも表示されます。
     
  • issue #5 時報・アラーム・繰り返し通知機能に、ランダムグループを設定できるようにして欲しい
    timesignals.txt ファイルに、例えば、
    R60 : (ミントちゃんサーバーは絶賛稼働中です!|お店エリアにも遊びにきてね!)
    と設定すると、60分毎に「ミントちゃんサーバーは絶賛稼働中です!」と「お店エリアにも遊びにきてね!」のどちらかがランダムで選ばれて、選ばれた方を通知することができます。
    また、このランダム選択機能は、時報やアラームにも設定可能になりました。
     
  • issue #6 自動応答機能にクールダウン期間を設定できるようにして欲しい
    レスポンスのキーワードの最初に「@」を設定すると、そのキーワードに対しては連続で反応しないようにすることができるようになりました。
     
  • issue #8 応答内容を自由に追加できるようにしてほしい。
    ミントちゃんが応答内容を学習する機能を追加しました。
    「教育 キーワード=応答」のようにチャット発言すると、応答設定を追加することができます。
    「忘却 キーワード」のようにチャット発言すると、指定されたキーワードに自動登録されていた応答を消去することができます。
    (消去することができるのは、教育 で覚えさせた応答のみです。responces.txt の設定内容は消去されません。)
    この機能が不要な場合は、responces.txt の最後にある、教育、忘却 の行をコメントアウトしてください。

ミントちゃん v2.1.0 で、結構大きく変更していますので、大変お手数ですが設定ファイルなどの再生成をお勧めします。
(もちろん、以前のファイルのバックアップは取っておいてくださいね!)

また、LunaChat連携をしたい場合は、今後は LunaChat v2.7.4 以上のバージョンが必要になりますので、合わせてLunaChatのアップデートも忘れずにお願いします。


それから、紅しちさんからご意見を頂いていた下記の件ですが、
紅しち さんが書きました:・IRC側に流れる サーバーへ参加・退出の表示をOFFにすることが出来ない

これは最初からできていましたね。(すみません、私も忘れていました・・・)
messages.txt ファイルの minecraft_join と minecraft_quit の行を、コメントアウトしてください。
これで、該当のメッセージが流れなくなります。


本アップデートについてご不明な点などありましたらお知らせください。
よろしくお願いします。
――お知らせ――
パソコンが壊れたため、買い替えるまで、プラグイン開発作業はお休みしています。簡単な質問程度ならお答えいたします。
――お知らせ――
アバター
ucchy
ID:977198e1
ラピスラズリ収集家
 
記事: 1170
登録日時: 2012年11月07日(水) 00:08

  • (PostNo.239836)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.1.0

投稿記事by kotarobo_ » 2015年7月23日(木) 23:25

更新ありがとうございますヾ(:3ノシヾ)ノシ

ちょっと不具合かもしれない物を見つけたので報告をー
timessignalsで繰り返し通知の項目(R12 : (xxxxx|xxxx)の内容を書き換えて/bot reloadを行っても更新されず以前の通知を繰り返していました。

あと以下スタッフが欲しい機能です( '﹃' )

接続しているプレイヤーをランダムに指定できるもの
今は返答の%playerしかないので、サーバーに接続しているランダムなプレイヤーを指定するようなものがあれば様々なお遊びができそうです。

複数のランダム設定ができるようにしたい
例として プラン : (明日|今日|昨日)から(Aプラン|Bプラン|Cプラン)
のような設定ができると幅が広がって様々な設定ができそうです。

timesignalsの時間通知で%dateは使用できませんか?
おあげちゃんとの会話でグローバルチャットがにぎやかになってますー!ありがたやありがたや
半公開制サーバーを運用しています!http://seesaawiki.jp/kotaserver/

画像
アバター
kotarobo_
ID:95b72938
大工さん
 
記事: 67
登録日時: 2013年8月14日(水) 06:12

  • (PostNo.239866)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.1.0

投稿記事by mmatr » 2015年7月24日(金) 09:52

素晴らしいプラグインですね!いつも愛用させてもらってます
プラグイン制作依頼って受けていますか?もし良かったらお願いします!
連絡先はSkypeだけなのですみません
ID mmatr0131999
アバター
mmatr
ID:0d527631
水から上がったとこ
 
記事: 9
登録日時: 2014年6月01日(日) 14:00

  • (PostNo.239877)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.1.0

投稿記事by ucchy » 2015年7月24日(金) 12:39

携帯からなので、簡単な返信になってしまいますが、すみません。

kotaroboさん、不具合報告&機能要望、ありがとうございます。
次バージョンにて、全て対応させていただきますね。
ただ、今日あたりからしばらく家をあけるので、帰ってきてからの対応になります。すみませんが、よろしくお願いします。

mmatrさん、ミントちゃんのご利用ありがとうございます!
すみませんが、プラグイン制作依頼は受け付けておりません。ご了承ください。
――お知らせ――
パソコンが壊れたため、買い替えるまで、プラグイン開発作業はお休みしています。簡単な質問程度ならお答えいたします。
――お知らせ――
アバター
ucchy
ID:b2918d05
ラピスラズリ収集家
 
記事: 1170
登録日時: 2012年11月07日(水) 00:08

  • (PostNo.240311)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.1.0

投稿記事by naori3595 » 2015年7月27日(月) 05:48

あったら嬉しいなという機能を思いついたのですが、

あらかじめ指定しておいたキーワードを発言したプレイヤーに対して、
あらかじめ指定しておいたコマンドを実行する機能

を付けるのはどうでしょうか?
本来の目的からは少し離れてしまうかも知れませんが、
個人的にはこんな機能があるととても便利です
フォーラムに広がるビッグな愛!現れよNo.11!キュアビッグ・アイ!<●>
主にMODと建築物関連のフォーラムで活動しています!
ルールを守って、楽しくクラフト!
サイン欄についてのルール/ガイドライン
アバター
naori3595
ID:de52a98d
鉄鉱掘り
 
記事: 326
登録日時: 2015年1月10日(土) 20:53
お住まい: 無気力

  • (PostNo.241044)

Re: [Bukkit 1.7.2-1.8.7] チャットBOT ミントちゃん v2.1.0

投稿記事by depth » 2015年7月31日(金) 17:40

おもしろそうなプラグインですね
使わせていただきます!
日本語動画がないとPluginつかえない奴は鯖経営やめたほうがいいよ

マイクラ関連なら何でもやってます。

サーバー運営中。
画像
アバター
depth
ID:eac3d750
木を殴ってる
 
記事: 32
登録日時: 2014年5月04日(日) 21:47
お住まい: JPMCPvPとかANNIとか

次へ

Return to サーバーMOD,プラグイン 公開/紹介

x