|
| 1 | +Welcome to hatexmpp. |
| 2 | + |
| 3 | +> look |
| 4 | + |
| 5 | +You are near the root of a tree. |
| 6 | + |
| 7 | +> look hatexmpp |
| 8 | + |
| 9 | +You see a xmpp client with filesystem frontend. |
| 10 | + |
| 11 | +> configure hatexmpp |
| 12 | + |
| 13 | +Okay: $EDITOR config.h |
| 14 | +Enjoy the comments inside. |
| 15 | + |
| 16 | +> build hatexmpp |
| 17 | + |
| 18 | +Okay: make |
| 19 | +You will need glib (~>=2.18.4), fuse (~>=2.7.4) and loudmouth (~>=1.4.3) |
| 20 | +in your system to proceed with compilation. |
| 21 | +On BSD machines you may need to say gmake instead. |
| 22 | +It wasn't tested on Windows, though. If you do, CONTACT us. |
| 23 | + |
| 24 | +> run hatexmpp |
| 25 | + |
| 26 | +Synopsis: ./hatexmpp <mountpoint> [-d] |
| 27 | +mountpoint - a directory where the hatexmpp tree will be deployed |
| 28 | +d - enable it to debug |
| 29 | + |
| 30 | +> go fs |
| 31 | + |
| 32 | +You see config, events, log, rawxmpp and roster |
| 33 | + |
| 34 | +> go config |
| 35 | + |
| 36 | +You see the place filled with different xmpp-related configuration options |
| 37 | + |
| 38 | +> look |
| 39 | + |
| 40 | +jiv_name - the client name to be published |
| 41 | +jiv_os - operating system name |
| 42 | +jiv_version - version of the client |
| 43 | +muc_default_nick - default nickname to be used while joining the conferences |
| 44 | +password - password for your xmpp account |
| 45 | +resource - xmpp resource name |
| 46 | +server - address of the server to connect to |
| 47 | +username - username |
| 48 | +register - create this to make xmpp to register a new account on the server |
| 49 | +based on the stated username and password |
| 50 | +noauth - create to not to authenticate; may be used to do weird things with |
| 51 | +raw xml stream access |
| 52 | +auto_reconnect - create to reconnect on disconnection; still unusable |
| 53 | +raw_logs - raw logs (without time, jids) |
| 54 | +events - events generation on/off |
| 55 | + |
| 56 | +> go / |
| 57 | +> use hatexmpp |
| 58 | + |
| 59 | +command - action - status |
| 60 | +mkdir roster - connect to server - ready |
| 61 | +rmdir roster - disconnect - needs fix? |
| 62 | +cp opt config/ - write config option ‘opt’ - ready |
| 63 | +mkdir roster/mucjid - join MUC ‘mucjid’ - ready |
| 64 | +rmdir roster/mucjid - part MUC ‘mucjid’ - ready |
| 65 | +echo -n lol >> roster/jid - say ‘lol’ to ‘jid’ - ready |
| 66 | +echo -n lol >> roster/mucjid/__chat - say ‘lol’ to MUC ‘mucjid’ - ready |
| 67 | +echo -n lol >> roster/mucjid/nick - say ‘lol’ to MUC ‘mucjid’ participant ‘nick’ - ready |
| 68 | +rm roster/jid - remove ‘jid’ from roster - ready? |
| 69 | +rm roster/mucjid/jid - ban ‘jid’ in MUC ‘mucjid’ - temporary |
| 70 | +rm roster/mucjid/nick - ban ‘nick’ in MUC ‘mucjid’ - not implemented |
| 71 | +echo -n > roster/mucjid/nick - kick ‘nick’ in MUC ‘mucjid’ - not implemented/wtf!? |
| 72 | +tail -f roster/jid - listen to jid’s talk - ready |
| 73 | +tail -f roster/mucjid/__chat - listen to mucjid - ready |
| 74 | +cat /path/to/stream - continiously listen to stream - not implemented |
| 75 | +echo -n lol >> roster/mucjid/__nick - change nickname - ready |
| 76 | + |
| 77 | +> go frontends |
| 78 | + |
| 79 | +You see some frontends to use with hatexmpp. |
| 80 | + |
| 81 | +> go hatebot |
| 82 | + |
| 83 | +You see the hatexmpp-based MUC bot. |
| 84 | + |
| 85 | +> look |
| 86 | + |
| 87 | +You see some bash scripts: |
| 88 | +cmdlex.sh - the script which actually interacts with hatexmpp |
| 89 | +cmdparse.sh - running and cutting the output of the commands |
| 90 | +getfup.sh - setting the bot up |
| 91 | +getbot.sh - the script preparing the environment for the getfup.sh, |
| 92 | +setting the MUCs to sit on and enables logging. |
| 93 | +shutdown.sh - shuts down the bot |
| 94 | + |
| 95 | +Also, there are some directories ahead: |
| 96 | +commands - the commands hatebot will run on the users' requests |
| 97 | +config - the folder to copy to fs/config |
| 98 | + |
| 99 | +> go commands |
| 100 | + |
| 101 | +You see a lot of scripts, you feel a little dizzy. |
| 102 | + |
| 103 | +> look |
| 104 | + |
| 105 | +All the commands boil down to simple interface: they are running with their |
| 106 | +filenames and arguments set in the chat just like in the shell. Their output |
| 107 | +is redirected to the chat. Also, they may use "C" environment variable to get |
| 108 | +the name of MUC they were called from. |
| 109 | + |
| 110 | +> go / |
| 111 | +> rest |
| 112 | + |
| 113 | +While resting, you may do something useful, like: |
| 114 | +non-segfaulty behaviour more nonstop testing, recruit beta-testers |
| 115 | +9P-port? |
| 116 | +make some fscalls critical sections (mkdir conference, maybe others: investigation needed) |
| 117 | +streaming logs |
| 118 | +raw mode (to pipe through xmpp safely) |
| 119 | +proper reaction to various XMPP error stanzas |
| 120 | +code cleanup, functions name unification (for example xmpp_* etc) |
| 121 | +contacts in roster as directories for vcard, etc |
| 122 | +non-stupid events protocol |
| 123 | +roster management: add, delete, subscription etc |
| 124 | +direct xml stream access (writing, reading, pipe) |
| 125 | +kawaii frontend (ncurses, slang) |
| 126 | +mount options |
| 127 | +groups in roster (damn, too much rewrite) |
| 128 | +transports |
| 129 | +service discovery |
| 130 | +XEP-0138: Stream Compression |
| 131 | +whiteboarding (.svg) |
| 132 | +file sending/receiving |
| 133 | +user-friendly frontend (gtk one?) |
| 134 | + |
| 135 | +or fix some bugs: |
| 136 | +generating incorrect XMPP messages while using non-trivial unicode (for |
| 137 | +example, the japanese language) |
| 138 | +non-noticing the disconnect (should send a kind of ping or so) |
| 139 | +cutting the messages in random places (frontend-related, should write all |
| 140 | +the message in one write() syscall) |
| 141 | + |
| 142 | +But the Game Master forbids you to make something like: |
| 143 | +XEP-0245: The /me Command (frontend-related) |
| 144 | +XEP-0196: User Gaming (stupid) |
| 145 | +XEP-0171: Language Translation (stupid) |
| 146 | + |
| 147 | +> show license |
| 148 | + |
| 149 | +Google for the GNU AGPL v3. |
| 150 | + |
| 151 | +> contact |
| 152 | + |
| 153 | + |
| 154 | + |
| 155 | +> who |
| 156 | + |
| 157 | +L29Ah, http://l29ah-home.wtf.la/ |
| 158 | + |
| 159 | +> date |
| 160 | + |
| 161 | +Nov 26, 2009 |
| 162 | + |
| 163 | +> quit |
| 164 | + |
| 165 | +Till next time, adventurer! |
| 166 | +Thanks to the vx32 authors for their ADVENTURE! |
| 167 | + |
0 commit comments