Moved cheese-related commands to a new folder. Added intro for when joining a new server.
This commit is contained in:
37
src/bot.rb
37
src/bot.rb
@@ -15,6 +15,7 @@
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
require 'discordrb'
|
||||
require 'securerandom'
|
||||
|
||||
class CheeseBot
|
||||
def initialize
|
||||
@@ -54,5 +55,41 @@ class CheeseBot
|
||||
puts "#{@bot.profile.username} is online... GIVE ME THE CHEESE."
|
||||
@bot.update_status("online", "We're so back.", nil, 0, false, 0)
|
||||
end
|
||||
|
||||
@bot.server_create do |event|
|
||||
server = event.server
|
||||
bot_profile = server.bot
|
||||
|
||||
# Prevent spam on restart
|
||||
# Check if the bot joined a server in the last 60 seconds
|
||||
next if bot_profile.joined_at && (Time.now - bot_profile.joined_at) > 60
|
||||
|
||||
# Try system channel first.
|
||||
# If nil or no permissions, search text channels.
|
||||
channel = server.system_channel
|
||||
|
||||
unless channel && bot_profile.permission?(:send_messages, channel)
|
||||
channel = server.text_channels.find { |c| bot_profile.permission?(:send_messages, c) }
|
||||
end
|
||||
|
||||
next unless channel
|
||||
|
||||
random_color = ("0x" + Random.bytes(3).unpack1('H*')).to_i(16)
|
||||
|
||||
channel.send_embed do |embed|
|
||||
embed.title = "cheeseBot has joined!"
|
||||
embed.description = "What now?"
|
||||
embed.color = random_color
|
||||
embed.timestamp = Time.now
|
||||
|
||||
embed.add_field(name: "Well...", value: "You can start with the /help command!")
|
||||
embed.add_field(name: "And then?", value: "Start trying out the rest of commands!")
|
||||
embed.add_field(name: "Sounds good!", value: "We hope you enjoy cheeseBot! Stay cheesy :)")
|
||||
|
||||
embed.footer = Discordrb::Webhooks::EmbedFooter.new(
|
||||
text: "Be advised this bot automatically sends DMs when detected. Use /blacklist to not receive DMs."
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user