Skip to content

Commit

Permalink
fix(colors): .color command
Browse files Browse the repository at this point in the history
  • Loading branch information
anna328p committed Oct 11, 2023
1 parent a533bbd commit ff59f25
Showing 1 changed file with 35 additions and 34 deletions.
69 changes: 35 additions & 34 deletions modules/colors.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def self.assign_color_role(member, new_role)
usage: '.c <color>',
min_args: 1
} do |event, *args|
new_role = ColorRole.search(server, args.join(' '))
new_role = ColorRole.search(event.server, args.join(' '))
next embed t('colors.color.not-found') unless new_role

Colors.assign_color_role(event.author, new_role.role)
Expand Down Expand Up @@ -295,49 +295,50 @@ def self.create_color_roles(server, lightness, radius, count, &)
rescue ActiveRecord::RecordNotFound
embed t('colors.extra-roles.del.not-found', role.mention)
end
end
# rubocop: enable Metrics/ModuleLength

def give_random_color(server, user)
new_role = Colors::ColorRole.for(server).sample.role
# Color roles on join

user.add_role(new_role)
end
member_leave do |event|
PendingMember.for(event.server).destroy_by(user_id: event.user.id)
end

QBot.bot.member_join do |event|
opt = ServerConfig.for(event.server)[:auto_assign_colors]
def give_random_color(server, user)
new_role = Colors::ColorRole.for(server).sample.role
user.add_role(new_role)
end

give_random_color(event.server, event.user) if opt == 'on_join'
end
member_join do |event|
opt = ServerConfig.for(event.server)[:auto_assign_colors]

give_random_color(event.server, event.user) if opt == 'on_join'
end

QBot.bot.raw(type: :GUILD_MEMBER_ADD) do |event|
server_id = event.data['guild_id'].to_i
opt = ServerConfig.for(server_id)[:auto_assign_colors]
raw(type: :GUILD_MEMBER_ADD) do |event|
server_id = event.data['guild_id'].to_i
opt = ServerConfig.for(server_id)[:auto_assign_colors]

if opt == 'on_screening_pass' && event.data['pending']
user_id = event.data.dig('user', 'id')
PendingMember.create!(server_id:, user_id:)
if opt == 'on_screening_pass' && event.data['pending']
user_id = event.data.dig('user', 'id')
PendingMember.create!(server_id:, user_id:)
end
end
end

QBot.bot.raw(type: :GUILD_MEMBER_UPDATE) do |event|
server_id = event.data['guild_id'].to_i
opt = ServerConfig.for(server_id)[:auto_assign_colors]
raw(type: :GUILD_MEMBER_UPDATE) do |event|
server_id = event.data['guild_id'].to_i
opt = ServerConfig.for(server_id)[:auto_assign_colors]

if opt == 'on_screening_pass' && event.data['pending'] == false
user_id = event.data.dig('user', 'id')
record = PendingMember.find_by!(server_id:, user_id:)
if opt == 'on_screening_pass' && event.data['pending'] == false
user_id = event.data.dig('user', 'id')
record = PendingMember.find_by!(server_id:, user_id:)

server = event.bot.server(server_id)
member = server.member(user_id)
server = event.bot.server(server_id)
member = server.member(user_id)

give_random_color(server, member)
record.destroy!
give_random_color(server, member)
record.destroy!
end
rescue ActiveRecord::RecordNotFound
nil
end
rescue ActiveRecord::RecordNotFound
nil
end

QBot.bot.member_leave do |event|
PendingMember.for(event.server).destroy_by(user_id: event.user.id)
end
# rubocop: enable Metrics/ModuleLength

0 comments on commit ff59f25

Please sign in to comment.