code: def create_hotkey(self, folder, description, modifiers, key, contents):
          
          modifiers.sort()
          if not self.configManager.check_hotkey_unique(modifiers, key, None, None):
              raise Exception("The specified hotkey and modifier combination is already in use")
          
          self.monitor.suspend()
          p = model.Phrase(description, contents)
          p.modes.append(model.TriggerMode.HOTKEY)
          p.set_hotkey(modifiers, key)
          folder.add_item(p)
          p.persist()
          self.monitor.unsuspend()
          self.configManager.config_altered(False)
docs: Create a text hotkey
          
          Usage: C{engine.create_hotkey(folder, description, modifiers, key, contents)}
          
          When the given hotkey is pressed, it will be replaced with the given
          text. Modifiers must be given as a list of strings, with the following
          values permitted:
          
          <ctrl>
          <alt>
          <super>
          <hyper>
          <meta>
          <shift>
          
          The key must be an unshifted character (i.e. lowercase)
          
          @param folder: folder to place the abbreviation in, retrieved using C{engine.get_folder()}
          @param description: description for the phrase
          @param modifiers: modifiers to use with the hotkey (as a list)
          @param key: the hotkey
          @param contents: the expansion text
          @raise Exception: if the specified hotkey is not unique