36 lines
571 B
Ruby
36 lines
571 B
Ruby
require "discordrb"
|
|
require "active_support/all"
|
|
|
|
require_relative "logger"
|
|
|
|
class Bot
|
|
def initialize
|
|
@bot = Discordrb::Bot.new(token: ENV["DISCORD_TOKEN"])
|
|
end
|
|
|
|
def run
|
|
at_exit do
|
|
logger.info "at exit"
|
|
@bot.stop
|
|
end
|
|
|
|
Signal.trap("INT") do
|
|
@bot.stop
|
|
exit
|
|
end
|
|
|
|
@bot.run
|
|
end
|
|
|
|
CHANNEL = ENV.fetch("DISCORD_CHANNAME") { "spam-dice" }
|
|
|
|
def send(message)
|
|
logger.info "message forward: #{message}"
|
|
@bot.find_channel(CHANNEL).first.send_message(message)
|
|
end
|
|
|
|
def run_thread
|
|
Thread.new { run }
|
|
end
|
|
end
|