aboutsummaryrefslogtreecommitdiff
path: root/iada.rb
diff options
context:
space:
mode:
authorNat Lasseter <user@4574.co.uk>2020-12-30 21:31:43 +0000
committerNat Lasseter <user@4574.co.uk>2020-12-30 21:31:43 +0000
commit97ffb67aa2e73a3f5df4e3dbd5c2a9e5f7e5dfb0 (patch)
treea32697174b66c8f7bea73be830eaf16ca188b703 /iada.rb
Initial commit
Diffstat (limited to 'iada.rb')
-rwxr-xr-xiada.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/iada.rb b/iada.rb
new file mode 100755
index 0000000..1714707
--- /dev/null
+++ b/iada.rb
@@ -0,0 +1,36 @@
+#!/usr/bin/env ruby
+
+require 'discordrb'
+
+bot = Discordrb::Commands::CommandBot.new token: ENV['DISCORD_TOKEN'], client_id: ENV['DISCORD_ID'], prefix: '!'
+
+bot.command :vs do |event, vs, *fr|
+ vs = vs.to_i
+
+ roll = rand(100)
+
+ case roll
+ when 0
+ crit = true
+ success = true
+ diff = max(vs - roll, 0)
+ when 99
+ crit = true
+ success = false
+ diff = (vs - roll).abs
+ else
+ crit = roll.to_s[0] == roll.to_s[1]
+ success = roll <= vs
+ diff = (vs - roll).abs
+ end
+
+ res = "#{event.author.display_name} rolled `#{roll}` against `#{vs}`" +
+ "#{fr.empty? ? "" : " for \"#{fr.join(' ')}\""}. " +
+ "That is a _#{crit ? "**critical** " : ""}#{success ? "success" : "failure"}_ " +
+ "by `#{diff}` (#{diff / 10} Mo#{success ? "S" : "F"})."
+
+ puts res
+ res
+end
+
+bot.run