-- JOIN ORG -- Module that enables a user to join an org JoinOrg = {} JoinOrg.setup = { name = "Join an org", desc = "Initiator chooses an org to become a member of. Nothing happens if they are already in an org.", votes_yes = 0 } function JoinOrg:initiate(result) modpol.interactions.binary_poll_user( self.initiator, "Would you like to join", function (resp) if resp == "Yes" then for id, member in pairs(self.org.members) do self.org:add_pending_action(self.id, member, "callback") end end end ) if result then result() end end function JoinOrg:callback(member) modpol.interactions.binary_poll_user( member, "Do you want " .. self.initiator .. " to join?", function (resp) if resp == "Yes" then self.votes_yes = self.votes_yes + 1 end self:evaluate_vote() end ) end function JoinOrg:evaluate_vote() if self.votes_yes >= 1 then print('added user') self.org:add_member(self.initiator) self.org:wipe_pending_actions(self.id) end end -- =================================== -- When calling a module internally modpol.modules.join_org_class = JoinOrg