Refactor isdesktop() and ismobile(); Add isbot()