38行目:
38行目:
return message
return message
+
end
+
</syntaxhighlight>
+
+
== setMessage ==
+
+
https://github.com/torgtaitai/BCDice/blob/86b8dd03ae00f8ea6a8787f9f514a5d83b2e3d41/src/bcdiceCore.rb#L146-L163
+
+
ダイスボットに実行させるメッセージを設定する。
+
+
# メッセージのパターンに合わせて指定されたメッセージを加工する。
+
#* `Open Dice!` や `Open Plot!`、`Set` 系は指定されたメッセージそのまま。
+
#* それ以外の場合、空白の前まで。
+
# 括弧内前処理を行う。「[[#parren_killer]]」を参照。結果を `@messageOriginal` に記録する。
+
# 括弧内前処理の結果に対して、アルファベットを大文字にする。これを次に実行させるメッセージとして `@message` に記録する。
+
+
<syntaxhighlight lang="ruby">
+
def setMessage(message)
+
# 設定で変化し得るためopen系はここで正規表現を作る
+
openPattern = /\A\s*(?:#{$OPEN_DICE}|#{$OPEN_PLOT})\s*\z/i
+
+
messageToSet =
+
case message
+
when openPattern, SET_COMMAND_PATTERN
+
message
+
else
+
# 空白が含まれる場合、最初の部分だけを取り出す
+
message.split(/\s/, 2).first
+
end
+
debug("setMessage messageToSet", messageToSet)
+
+
@messageOriginal = parren_killer(messageToSet)
+
@message = @messageOriginal.upcase
+
debug("@message", @message)
end
end
</syntaxhighlight>
</syntaxhighlight>