Add puzzle author field and Solves table
This commit is contained in:
parent
1afab2c266
commit
e3159b1858
21
db.rb
21
db.rb
|
@ -34,6 +34,9 @@ class Puzzle < Sequel::Model
|
|||
# # draft / ready / current / used
|
||||
# String :state, default: "draft", null: false
|
||||
|
||||
# Author ID, the Discord ID of the author/submitter of the puzzle
|
||||
# String :author_id, null: false
|
||||
|
||||
# # Timestamps
|
||||
# DateTime :created_at, null: false
|
||||
# DateTime :updated_at, null: false
|
||||
|
@ -74,3 +77,21 @@ class Puzzle < Sequel::Model
|
|||
@message ||= $puzzle_channel.load_message message_id
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
class Solve < Sequel::Model
|
||||
# Fields:
|
||||
# primary_key :id
|
||||
|
||||
# # The user's Discord id
|
||||
# String :discord_id, null: false
|
||||
|
||||
# # The ID of the puzzle solved
|
||||
# foreign_key :puzzle_id, :puzzles, null: false
|
||||
|
||||
# # Timestamps
|
||||
# DateTime :created_at, null: false
|
||||
# DateTime :updated_at, null: false
|
||||
|
||||
|
||||
end
|
||||
|
|
8
main.rb
8
main.rb
|
@ -89,8 +89,9 @@ define_command("Solve", [
|
|||
event.user.add_role $puzzle_solver_role
|
||||
event.respond content: "Correct! You've gained full access for this week.", ephemeral: true
|
||||
event.channel.send "<@#{event.user.id}> has given the solution and entered the club."
|
||||
# TODO: Create "solve" instance
|
||||
# Update "solves" count role
|
||||
# Create "solve" instance
|
||||
Solve.create discord_id: event.user.id, puzzle: current_puzzle.id
|
||||
# TODO: Update "solves" count role
|
||||
else
|
||||
event.respond content: "Hmm, that's not the answer we're looking for.", ephemeral: true
|
||||
end
|
||||
|
@ -165,7 +166,8 @@ $bot.message do |event|
|
|||
event.channel.send "Invalid Puzzle. IDK why"
|
||||
next
|
||||
end
|
||||
# TODO: save the user's id who submitted it
|
||||
# Save the user's id who submitted it
|
||||
p.author_id = event.user.id
|
||||
p.save
|
||||
|
||||
event.channel.send "Successfully added puzzle!"
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
Sequel.migration do
|
||||
change do
|
||||
create_table :solves do
|
||||
primary_key :id
|
||||
|
||||
# The user's Discord id
|
||||
String :discord_id, null: false
|
||||
|
||||
# The ID of the puzzle solved
|
||||
foreign_key :puzzle_id, :puzzles, null: false
|
||||
|
||||
# Timestamps
|
||||
DateTime :created_at, null: false
|
||||
DateTime :updated_at, null: false
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
Sequel.migration do
|
||||
change do
|
||||
add_column :puzzles, :author_id, String, null: false, default: "226887818364846082"
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue