Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Add a user to the "voice" Addressbook category
- alias givevoice {
- var %name = $$1
- ab.write add %name voice
- }
- ; Remove a user from the "voice" Addressbook category
- alias removevoice {
- var %name = $$1
- ab.write remove %name voice
- }
- /*
- Chatty provides a way to execute Addressbook commands that
- are added to the addressbookImport.txt file in the settings
- directory.
- The following script is a simple way to add lines to the
- addressbookImport.txt file.
- It is recommended to not write to the file too often, so
- nothing gets lost (it is only read by Chatty a few seconds
- after a change is deteced). For that purpose lines written
- with ab.write are added to a cache, that is then written at
- once into the file. A timer is started on start to check if
- the cache contains anything every 10 seconds.
- You need to enable the auto-import in Chatty (restart Chatty
- for the setting change to take effect):
- /set abAutoImport on
- Chatty help on the Addressbook import via file:
- http://chatty.github.io/help/help-addressbook.html#file
- */
- /*
- ### Setting (must be changed)
- The file to export to for Chatty. You need to change
- this path to whatever Chatty outputs for the /dir command. The
- file must be called addressbookImport.txt for Chatty to detect it.
- If /dir returns "C:\Users\john\.chatty\" then you need to
- change this to:
- C:\Users\john\.chatty\addressbookImport.txt
- */
- alias ab.exportFile {
- return H:\coding\java\netbeans\Chatty\main\working_directory\addressbookImport.txt
- }
- /*
- ### Setting
- Name of the hashtable to store the ab cache in. You can
- keep this as it is.
- */
- alias ab.cache {
- return writeToAbCache
- }
- /*
- ### Function: Write to Addressbook
- Adds a line to the adderssbook import file. To be used by scripts
- to edit the Addressbook. Check the Chatty help for commands that
- are available to edit the Addressbook.
- Since this is written to a cache, it can take over 10 seconds for
- changes to occur in the Addressbook.
- */
- alias ab.write {
- var %command = $$1-
- hadd -m $ab.cache $calc($hget($ab.cache, 0).item + 1) %command
- }
- ;#### Internal things you usually don't need to change
- on *:start:{
- ab.startCacheTimer
- }
- alias ab.startCacheTimer {
- .timerWriteCacheToAb 0 10 ab.writeCache
- }
- /*
- Writes the current cache to the Addressbook import file and clears
- the cache afterwards.
- */
- alias -l ab.writeCache {
- ;echo -a writeCacheToAb
- if ($hget($ab.cache, 0).item == 0) {
- ; Cache empty, do nothing
- return
- }
- ; Clear file
- write -c $ab.exportFile
- var %i = 1
- while (%i <= $hget($ab.cache, 0).item) {
- var %command = $hget($ab.cache, %i)
- if (%command != $null) {
- ; Append command to file
- write -a $ab.exportFile %command
- ;echo -a %command
- }
- inc %i
- }
- hfree $ab.cache
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement