datalinks/bot.rb

35 lines
913 B
Ruby
Raw Permalink Normal View History

2021-06-11 18:43:05 +00:00
#!/bin/env ruby
require 'discordrb'
2021-10-13 19:22:31 +00:00
require 'rufus-scheduler'
# fetches a random quote from quotes
def random_quote(quotes)
quote = "**Quote of the Day**"
quote << "```"
quotes.sample.split("\n")[2..].each { | line | quote << line.delete("^") + "\n" }
quote << "```"
end
2021-06-11 18:43:05 +00:00
2021-06-11 20:39:06 +00:00
token = File.read("./token").strip
bot = Discordrb::Bot.new token: token
2021-10-13 19:22:31 +00:00
quotes = File.read("Game Files/blurbsx.txt").split("##")
quotes.delete_at(0) # Remove empty first item
scheduler = Rufus::Scheduler.new
2021-10-14 12:24:00 +00:00
start_time = Rufus::Scheduler.parse('12:30') # what time of day the message should send
2021-10-13 19:52:26 +00:00
# start tomorrow if start_time has passed
start_time += Rufus::Scheduler.parse('1d') if start_time < Time.now
2021-10-13 19:22:31 +00:00
2021-10-13 19:31:18 +00:00
scheduler.every '1d', first_at: start_time do
2021-10-13 19:22:31 +00:00
bot.send_message(852541842511495210, random_quote(quotes))
end
2021-06-11 18:43:05 +00:00
bot.message(with_text: 'Ping!') do |event|
2021-10-13 19:22:31 +00:00
event.respond random_quote(quotes)
pp bot
2021-06-11 18:43:05 +00:00
end
2021-06-11 20:39:06 +00:00
bot.run