I have a few things I like like to discuss about the medals system of BYOND.
1.GetMedal seems badly documented for trying to pass extra arguments like the hub you want to get the medal for.
2.GetMedal shouldn't need a hub-password nor should one being there or not affect GetMedal in any way, currently unless the password is set to something other than null it will be unable to contact the hub(the same value at least is returned) even a blank string for hub_password which would be an in-correct password for that hub makes GetMedal works as expected. (Also trying to pass in a hub_password of correct hub password or blank fails to make it work, world.hub_password must be set to something, it wont let you push that extra variable to force it to work even though the value shouldn't matter.)
3.GetMedal sent with a medal name where a medal with that name doesn't exist should return a seperate value so you can add error-handling for when you accidentally type the medal name wrong or your letting people check medals themself. Currently it returns the value for you having not earned the medal even though no medal with that name actually existed.