mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 07:53:49 +08:00
Merge discourse-narrative-bot into core plugins.
This commit is contained in:
@ -0,0 +1,32 @@
|
||||
module DiscourseNarrativeBot
|
||||
class Dice
|
||||
MAXIMUM_NUM_OF_DICE = 20
|
||||
MAXIMUM_RANGE_OF_DICE = 120
|
||||
|
||||
def self.roll(num_of_dice, range_of_dice)
|
||||
if num_of_dice == 0 || range_of_dice == 0
|
||||
return I18n.t('discourse_narrative_bot.dice.invalid')
|
||||
end
|
||||
|
||||
output = ''
|
||||
|
||||
if num_of_dice > MAXIMUM_NUM_OF_DICE
|
||||
output << I18n.t('discourse_narrative_bot.dice.not_enough_dice',
|
||||
num_of_dice: MAXIMUM_NUM_OF_DICE
|
||||
)
|
||||
output << "\n\n"
|
||||
num_of_dice = MAXIMUM_NUM_OF_DICE
|
||||
end
|
||||
|
||||
if range_of_dice > MAXIMUM_RANGE_OF_DICE
|
||||
output << I18n.t('discourse_narrative_bot.dice.out_of_range')
|
||||
output << "\n\n"
|
||||
range_of_dice = MAXIMUM_RANGE_OF_DICE
|
||||
end
|
||||
|
||||
output << I18n.t('discourse_narrative_bot.dice.results',
|
||||
results: num_of_dice.times.map { rand(1..range_of_dice) }.join(", ")
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user