You can find resources related to the plugin development here in Search results for '#howto plugin development' - Discourse Meta
In Discourse a plugin can do almost anything
Since you are only allowing signups from Facebook it is easier to implement this feature. We already saving gender value in facebook_user_infos
table. Similar code like below can work for you (not yet tested)
after_initialize do
FacebookUserInfo.class_eval do
after_commit : add_to_gender_group, on: :create
def add_to_gender_group
return if gender.blank?
group = Group.find_by name: gender.downcase
group.add user
end
end
end
And you can limit all your categories only for “female” group.