Difference between revisions of "Hall (Chat)"
(wiki-code) |
m (→...with an external client) |
||
(29 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Translate| | + | {{Translate|Needs revision!}} |
− | {{remark| | + | {{remark|Bitte das Kontextmenü im Chat anpassen, da stehen zur Zeit noch deutsche Begriffe.}} |
− | The | + | The '''Hall''' is a text messaging system (chat) based on ''IRC'' (''Internet Relay Chat''). You find details to the IRC at [http://en.wikipedia.org/wiki/Irc Wikipedia]. |
− | In the hall you find many players who can answer questions and help you | + | In the hall you find many players who can answer questions and help you with problems, or who just meet and have a chat. While visiting the hall you should always stand to the [http://forum.xhodon.co.uk/viewtopic.php?f=9&t=12 Hall Rules]. |
− | == | + | == Accessing the Hall == |
− | === ... | + | === ...from the game === |
− | [[Image:Menu_Bar_Link_HallChat.png|frame| | + | [[Image:Menu_Bar_Link_HallChat.png|frame|Link ''HallChat'' in the [[Menu Bar]] ]] |
− | + | By clicking the link "''HallChat''" in the [[menu bar]] you open a new frame at the bottom of the screen. By default the chat frame opens automatically after login. In your [[profile]] at menu item "''Account Settings''" you can disable the automatic connection establishment. | |
− | * | + | *The hall's frame dimensions can be changed by grabbing the upper frame border with the mouse cursor and dragging it into the new position. |
− | * | + | *If you press and hold <small><span style="border:0.2em solid; border-color:#DDDDDD #BBBBBB #BBBBBB #DDDDDD; padding:0 0.4em; background:#EEEEEE; white-space:nowrap;">Ctrl</span></small> while clicking the link "''HallChat''", the chat will open in a new browser window. |
{{important | {{important | ||
|title=Please note: | |title=Please note: | ||
− | |content= | + | |content=The ports 6641 and 843 must not be restricted by a firewall, or else the connection attempt will fail and the chat frame will output a ''SecurityErrorEvent'' message!}} |
− | + | ||
− | + | ||
=== ...with an external client === | === ...with an external client === | ||
− | + | If you prefer using some external client software for chatting, you need the following connection data: | |
− | *IP-Adresse: ''78.47.132.50'' | + | * IP-Adresse: ''78.47.132.50'' |
− | * | + | * Server name: ''chat.xhodon.de'' |
− | *Port: '' | + | * Port: ''6641'' |
− | + | -- As of 01/21/2014 | |
+ | Port 6610 appears to be the new port for external connections. | ||
− | |||
− | |||
− | + | Your nickname in the chat has to be identical to your name in the game. | |
− | + | ==== Finding out the server password ==== | |
− | * | + | To establish the connection the server you need its password. This password is your private ''Session-ID'' within [[Xhodon]]. When connecting to the IRC server, you '''have to''' be logged on to the game! |
− | *As soon as the chat | + | |
− | + | Be sure to close the ingame chat before trying to connect with an external client, because you cannot be connected twice with the same nickname. In this case the server will terminate your connection. | |
− | + | ||
− | *In the source | + | You can figure out the ''Session-ID'' as follows: |
− | + | *In the game start the chat by clicking the link "''Hall Chat''" in the [[menu bar]]. | |
+ | *As soon as the chat starts, open the page's source code. | ||
+ | ::If you use the web browser ''Firefox'', open the menu "''View''" and click the menu item "''View page source''". | ||
+ | ::If you use ''Internet Explorer'', open the menu "''View''" and click the menu item "''Source''". | ||
+ | *In the source code look for a paragraph that looks like this: | ||
+ | <frameset rows="100%,180"> | ||
<frame src="index.php" name="xhodon"> | <frame src="index.php" name="xhodon"> | ||
− | <frame src="<nowiki>http://chat.xhodon.de/ | + | <frame src="<nowiki>http://chat.xhodon.de/chat_en/ ?game_path=http://en1.xhodon.co.uk/xhodon/&port=6641 |
− | + | &user=Username&pass=abcdefghijklmnopqrstuvwxyzabcdef&Channel[]=Halle&Channel[]=GildenChannel</nowiki>" name="hox"> | |
− | </frameset | + | </frameset> |
− | The 32- | + | The 32-digit code behind <tt>&pass=</tt> is the needed ''Session-ID'' and as well the server password (in the example the password is "abcdefghijklmnopqrstuvwxyzabcdef"). |
− | + | This ID changes every time you log on to the game. So each time you have to figure it out anew and enter it into the connection settings in your chat client. | |
− | ==== | + | ==== Finding out the NickServ password ==== |
− | If | + | If you like to use all functions of the chat (register channels, access secured channels etc.), you must log on to NickServ. The needed password has to be figured out by monitoring the network traffic using some appropriate ''network analysis software''. |
===== Short instructions ===== | ===== Short instructions ===== | ||
− | + | You monitor the network traffic between your browser and the chat server while establishing the chat connection. You can use for example | |
+ | *[http://www.microsoft.com/Downloads/details.aspx?FamilyID=f4db40af-1e08-4a21-a26b-ec2f4dc4190d&displaylang=en Microsoft Network Monitor] or | ||
+ | *[http://www.wireshark.org/download.html Wireshark]. | ||
+ | Search for the packets containing | ||
+ | <pre>PRIVMSG NickServ :IDENTIFY abcdefghij</pre> | ||
+ | In this example the needed password is "abcdefghij". Copy it to your chat client's connection setup, or identify manually using the command | ||
+ | <pre>/msg NickServ identify abcdefghij</pre> | ||
− | ===== Step | + | [[Image:Screenshot_IRC_Password.jpg|thumb|600px|Screenshot of the Microsoft Network Monitor]] |
− | + | ===== Step by step instructions ===== | |
+ | In the following instructions it is assumed that you use the ''Microsoft Network Monitor'', see the link some lines above. | ||
− | + | The numbers in the picture correspond to the following steps: | |
+ | #First open a new capture tab by clicking on "''New Capture''". | ||
+ | #Now click on the "''Capture Filter''" tab to enter a filter rule. | ||
+ | #Enter the filter rule:<br/><tt>Tcp.DstPort == 6641 AND ContainsBin(FrameData, 0, "IDENTIFY")</tt> | ||
+ | #...and confirm your input by clicking the button "''Apply''". | ||
+ | #The filter rule now be displayed in the form field. | ||
+ | #Now start the monitoring process by clicking the button "''Start''", then switch to your web browser and connect to the chat from within the game. | ||
+ | #As soon as the hall chat opens successfully, the Network Monitor should "catch" a packet matching the entered filter. Stop the monitoring process now by clicking the button "''Stop''" (see no.6). | ||
+ | #Select the packet and take a look at its details displayed in the lower right window area. You should find in this packet the text snippet<br/><tt>PRIVMSG NickServ :IDENTIFY abcdefghij</tt><br/>The 10-digit data word behind the "IDENTIFY" is the NickServ password you were looking for ("abcdefghij" in this example). Copy it to your chat client's connection setup, or identify manually using the command <pre>/msg NickServ identify abcdefghij</pre> | ||
− | + | == Structure == | |
− | + | The hall consists of many seperate "rooms" called "channels". Some of them are open to the public, others are private as for example some guild channels. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | The | + | The most important public channels are introduced below: |
+ | * ''#hall'' → Most players meet here, this channel is entered by default when connecting to the chat from within the game. The ''[[Hall Guards]]'' moderate this channel. They maintain order and enforce the [http://forum.xhodon.co.uk/viewtopic.php?f=9&t=12 Hall Rules]. | ||
+ | * "''#Trading/Bartering-Troll''" → Here you can trade [[resources]] or find trading partners for exchanging [[pearls]]. | ||
+ | * "''#Newbie/Questions''" → In this channel you can ask questions concerning all aspects of the game. Here you will find ''Hall Guards'' and other experienced players who can serve with answers. | ||
+ | * "''#To_the_Tavern''" Role playing is requested in this channel. For more detailed information about the channel and its rules, see the article [[Tavern (Chat)]]. | ||
− | + | Besides there are [[guild]] channels, named after the respective guilds. Here the guild members meet. The channel can be protected, e.g. by setting a password. | |
− | + | ||
− | + | You will automatically join to all these channels including your guild channel (if you are member of a guild) the second you enter the Hall Chat via the link in the game. | |
− | + | ||
− | + | ||
− | + | == Commands == | |
− | + | *Enter a channel: | |
− | + | '''/join''' ''#Channel'' | |
− | + | ||
− | + | *Enter a password-protected channel: | |
+ | '''/join''' ''#Channel Password'' | ||
− | + | *Perform an action on a channel. | |
− | + | '''/me''' ''text'' | |
− | * | + | /me will be replaced by your name, so use it in the third person, e.g. <tt>/me is happy.</tt>. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | *Perform an action on all channels: | |
− | + | '''/ame''' ''text'' | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | === | + | === Ignore users === |
− | + | *Ignore a user in all channels as well as query messages: | |
+ | '''/ignore''' ''Name'' | ||
− | '''/ | + | *Stop ignoring a user: |
+ | '''/unignore''' ''Name'' | ||
− | + | *Show list of all ignored users: | |
+ | '''/ignores''' | ||
− | + | === Commands for a Channels Founder and Operators === | |
+ | To operate an own channel you have to register it first: | ||
+ | '''/msg ChanServ REGISTER''' ''#Channel Password Description'' | ||
+ | This password is the password for granting founder status, not for accessing the channel. | ||
+ | |||
+ | After registering you are the channel's founder and each time you join it (if you logged on to NickServ) you automatically get founder status. | ||
{{important | {{important | ||
|title=Please note: | |title=Please note: | ||
− | |content=Only the founder | + | |content=Only the channel founder can transfer his privileges to another user. Should the founder leave the guild or quit playing Xhodon, it is essential that he transfers the founder status onto somebody else or drops the channel registration before he leaves.}} |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | To transfer the founder's privileges use the following command: | |
+ | '''/msg ChanServ SET''' ''#Channel'' '''FOUNDER''' ''NewFounder'' | ||
− | '''/msg ChanServ DROP''' ''# | + | The channel founder can drop the channel registration by using the command: |
+ | '''/msg ChanServ DROP''' ''#Channel'' | ||
− | There is the possibility to | + | There is the possibility to set a channel topic. Users will see this topic the second they join the channel or in the server's list of channels. |
+ | '''/msg ChanServ TOPIC''' ''#Channel'' ''Text'' | ||
− | '''/msg ChanServ | + | The channel founder can give privileges to other users, e.g. operator status (OP) (@) by using the command: |
− | + | '''/msg ChanServ AOP''' ''#Channel'' '''ADD''' ''Nickname'' | |
− | + | The list of privileged users can be displayed by using the command: | |
+ | '''/msg ChanServ ACCESS''' ''#Channel'' '''LIST''' | ||
− | + | To take away privileges, e.g. operator status, from a user type: | |
− | '''/msg ChanServ AOP''' ''# | + | '''/msg ChanServ AOP''' ''#Channel'' '''DEL''' ''Nickname'' |
− | + | ||
− | + | ||
− | + | To give or take away other privileges use the commands: | |
− | '''/msg ChanServ | + | half-op (%): |
+ | '''/msg ChanServ HOP''' ''#Channel'' '''ADD''' ''Nickname'' | ||
+ | '''/msg ChanServ HOP''' ''#Channel'' '''DEL''' ''Nickname'' | ||
+ | voice (+): | ||
+ | '''/msg ChanServ VOP''' ''#Channel'' '''ADD''' ''Nickname'' | ||
+ | '''/msg ChanServ VOP''' ''#Channel'' '''DEL''' ''Nickname'' | ||
− | + | A user with operator (@) rights may set a password to a channel. If the "set mlock" command is not used, the password will expire the second the last user leaves the channel. | |
+ | '''/mode''' ''#Channel'' '''+k''' ''Password'' | ||
− | '''/msg ChanServ | + | With the "set mlock" command the password is firmly saved by ChanServ and will not expire. This command is by default restricted to the channel founder. |
+ | '''/msg ChanServ SET''' ''#Channel'' '''MLOCK +k''' ''Password'' | ||
− | + | Set or delete a ban for the user "''Name''" in the Channel "''#Channel''": | |
+ | '''/mode''' ''#Channel'' '''+b''' ''Name'' | ||
+ | '''/mode''' ''#Channel'' '''-b''' ''Name'' | ||
− | + | Clear all bans in the Channel "''#Channel''": | |
− | '''/msg | + | '''/msg chanserv''' '''clear''' ''#channel'' '''bans''' |
− | + | ||
− | + | ||
− | + | === User list and context menu === | |
− | + | If you right-click on a name in the user list a context menu opens containing the following commands: | |
− | * | + | * "Open Profile" → Open the user's ingame [[profile]] in your browser |
− | + | * "Open Guild" → Open the user's guild's description in your browser | |
− | * | + | * "Query" → Start a private chat with this user. |
− | + | ||
− | + | For using the following commands you need adequate privileges: | |
− | + | * kick user → kick user out of the actual channel | |
− | * | + | * kick/ban → kick user out and ban him so he cannot rejoin |
− | + | ||
− | * | + | |
− | + | * Op → Grant operator status | |
− | * | + | * Deop → Take away operator status |
− | * | + | |
− | * | + | * Hop → Grant half-op status |
− | * | + | * Dehop → Take away half-op status |
− | * | + | * Voice → Grant voice status |
− | * | + | * Devoice → Take away voice status |
− | |||
− | |||
=== Keyboard function === | === Keyboard function === | ||
− | *With | + | * With <small><span style="border:0.2em solid; border-color:#DDDDDD #BBBBBB #BBBBBB #DDDDDD; padding:0 0.4em; background:#EEEEEE; white-space:nowrap;">↑</span></small> and <small><span style="border:0.2em solid; border-color:#DDDDDD #BBBBBB #BBBBBB #DDDDDD; padding:0 0.4em; background:#EEEEEE; white-space:nowrap;">↓</span></small> you can navigate through your last contributions |
− | * | + | * While typing a user's name you can automatically complete it by pressing <small><span style="border:0.2em solid; border-color:#DDDDDD #BBBBBB #BBBBBB #DDDDDD; padding:0 0.4em; background:#EEEEEE; white-space:nowrap;">Ctrl</span></small>. |
=== Smilies === | === Smilies === | ||
− | + | The chat client that can be started from within the game supports the following graphical smilies: | |
{| | {| | ||
− | | style="padding-right:2em;" | <tt>:)</tt> || happy / | + | | style="padding-right:2em;" | <tt>:)</tt> || happy / smiling |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:(</tt> || sad / | + | | style="padding-right:2em;" | <tt>:(</tt> || sad / disappointed |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:D</tt> || very happy / | + | | style="padding-right:2em;" | <tt>:D</tt> || very happy / laughing |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:P</tt> || | + | | style="padding-right:2em;" | <tt>:P</tt> || stick one's tongue out |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>;)</tt> || | + | | style="padding-right:2em;" | <tt>;)</tt> || wink |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:o</tt> || | + | | style="padding-right:2em;" | <tt>:o</tt> || surprised / frightened |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:@</tt> || | + | | style="padding-right:2em;" | <tt>:@</tt> || angry |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:$</tt> || blush / | + | | style="padding-right:2em;" | <tt>:$</tt> || blush / ashamed |
|- | |- | ||
− | | style="padding-right:2em;" | <tt>:S</tt> || feel | + | | style="padding-right:2em;" | <tt>:S</tt> || feel uncomfortable, feel below par |
|- | |- | ||
| style="padding-right:2em;" | <tt>:W</tt> || cry | | style="padding-right:2em;" | <tt>:W</tt> || cry |
Latest revision as of 23:16, 21 January 2014
This article/paragraph needs to be translated or translation is in progress. Needs revision! |
Bitte das Kontextmenü im Chat anpassen, da stehen zur Zeit noch deutsche Begriffe. |
The Hall is a text messaging system (chat) based on IRC (Internet Relay Chat). You find details to the IRC at Wikipedia.
In the hall you find many players who can answer questions and help you with problems, or who just meet and have a chat. While visiting the hall you should always stand to the Hall Rules.
Contents
Accessing the Hall
...from the game
By clicking the link "HallChat" in the menu bar you open a new frame at the bottom of the screen. By default the chat frame opens automatically after login. In your profile at menu item "Account Settings" you can disable the automatic connection establishment.
- The hall's frame dimensions can be changed by grabbing the upper frame border with the mouse cursor and dragging it into the new position.
- If you press and hold Ctrl while clicking the link "HallChat", the chat will open in a new browser window.
Please note: |
The ports 6641 and 843 must not be restricted by a firewall, or else the connection attempt will fail and the chat frame will output a SecurityErrorEvent message! |
...with an external client
If you prefer using some external client software for chatting, you need the following connection data:
- IP-Adresse: 78.47.132.50
- Server name: chat.xhodon.de
- Port: 6641
-- As of 01/21/2014 Port 6610 appears to be the new port for external connections.
Your nickname in the chat has to be identical to your name in the game.
Finding out the server password
To establish the connection the server you need its password. This password is your private Session-ID within Xhodon. When connecting to the IRC server, you have to be logged on to the game!
Be sure to close the ingame chat before trying to connect with an external client, because you cannot be connected twice with the same nickname. In this case the server will terminate your connection.
You can figure out the Session-ID as follows:
- In the game start the chat by clicking the link "Hall Chat" in the menu bar.
- As soon as the chat starts, open the page's source code.
- If you use the web browser Firefox, open the menu "View" and click the menu item "View page source".
- If you use Internet Explorer, open the menu "View" and click the menu item "Source".
- In the source code look for a paragraph that looks like this:
<frameset rows="100%,180"> <frame src="index.php" name="xhodon"> <frame src="http://chat.xhodon.de/chat_en/ ?game_path=http://en1.xhodon.co.uk/xhodon/&port=6641 &user=Username&pass=abcdefghijklmnopqrstuvwxyzabcdef&Channel[]=Halle&Channel[]=GildenChannel" name="hox"> </frameset>
The 32-digit code behind &pass= is the needed Session-ID and as well the server password (in the example the password is "abcdefghijklmnopqrstuvwxyzabcdef").
This ID changes every time you log on to the game. So each time you have to figure it out anew and enter it into the connection settings in your chat client.
Finding out the NickServ password
If you like to use all functions of the chat (register channels, access secured channels etc.), you must log on to NickServ. The needed password has to be figured out by monitoring the network traffic using some appropriate network analysis software.
Short instructions
You monitor the network traffic between your browser and the chat server while establishing the chat connection. You can use for example
Search for the packets containing
PRIVMSG NickServ :IDENTIFY abcdefghij
In this example the needed password is "abcdefghij". Copy it to your chat client's connection setup, or identify manually using the command
/msg NickServ identify abcdefghij
Step by step instructions
In the following instructions it is assumed that you use the Microsoft Network Monitor, see the link some lines above.
The numbers in the picture correspond to the following steps:
- First open a new capture tab by clicking on "New Capture".
- Now click on the "Capture Filter" tab to enter a filter rule.
- Enter the filter rule:
Tcp.DstPort == 6641 AND ContainsBin(FrameData, 0, "IDENTIFY") - ...and confirm your input by clicking the button "Apply".
- The filter rule now be displayed in the form field.
- Now start the monitoring process by clicking the button "Start", then switch to your web browser and connect to the chat from within the game.
- As soon as the hall chat opens successfully, the Network Monitor should "catch" a packet matching the entered filter. Stop the monitoring process now by clicking the button "Stop" (see no.6).
- Select the packet and take a look at its details displayed in the lower right window area. You should find in this packet the text snippet
PRIVMSG NickServ :IDENTIFY abcdefghij
The 10-digit data word behind the "IDENTIFY" is the NickServ password you were looking for ("abcdefghij" in this example). Copy it to your chat client's connection setup, or identify manually using the command/msg NickServ identify abcdefghij
Structure
The hall consists of many seperate "rooms" called "channels". Some of them are open to the public, others are private as for example some guild channels.
The most important public channels are introduced below:
- #hall → Most players meet here, this channel is entered by default when connecting to the chat from within the game. The Hall Guards moderate this channel. They maintain order and enforce the Hall Rules.
- "#Trading/Bartering-Troll" → Here you can trade resources or find trading partners for exchanging pearls.
- "#Newbie/Questions" → In this channel you can ask questions concerning all aspects of the game. Here you will find Hall Guards and other experienced players who can serve with answers.
- "#To_the_Tavern" Role playing is requested in this channel. For more detailed information about the channel and its rules, see the article Tavern (Chat).
Besides there are guild channels, named after the respective guilds. Here the guild members meet. The channel can be protected, e.g. by setting a password.
You will automatically join to all these channels including your guild channel (if you are member of a guild) the second you enter the Hall Chat via the link in the game.
Commands
- Enter a channel:
/join #Channel
- Enter a password-protected channel:
/join #Channel Password
- Perform an action on a channel.
/me text
/me will be replaced by your name, so use it in the third person, e.g. /me is happy..
- Perform an action on all channels:
/ame text
Ignore users
- Ignore a user in all channels as well as query messages:
/ignore Name
- Stop ignoring a user:
/unignore Name
- Show list of all ignored users:
/ignores
Commands for a Channels Founder and Operators
To operate an own channel you have to register it first:
/msg ChanServ REGISTER #Channel Password Description
This password is the password for granting founder status, not for accessing the channel.
After registering you are the channel's founder and each time you join it (if you logged on to NickServ) you automatically get founder status.
Please note: |
Only the channel founder can transfer his privileges to another user. Should the founder leave the guild or quit playing Xhodon, it is essential that he transfers the founder status onto somebody else or drops the channel registration before he leaves. |
To transfer the founder's privileges use the following command:
/msg ChanServ SET #Channel FOUNDER NewFounder
The channel founder can drop the channel registration by using the command:
/msg ChanServ DROP #Channel
There is the possibility to set a channel topic. Users will see this topic the second they join the channel or in the server's list of channels.
/msg ChanServ TOPIC #Channel Text
The channel founder can give privileges to other users, e.g. operator status (OP) (@) by using the command:
/msg ChanServ AOP #Channel ADD Nickname
The list of privileged users can be displayed by using the command:
/msg ChanServ ACCESS #Channel LIST
To take away privileges, e.g. operator status, from a user type:
/msg ChanServ AOP #Channel DEL Nickname
To give or take away other privileges use the commands:
half-op (%):
/msg ChanServ HOP #Channel ADD Nickname /msg ChanServ HOP #Channel DEL Nickname
voice (+):
/msg ChanServ VOP #Channel ADD Nickname /msg ChanServ VOP #Channel DEL Nickname
A user with operator (@) rights may set a password to a channel. If the "set mlock" command is not used, the password will expire the second the last user leaves the channel.
/mode #Channel +k Password
With the "set mlock" command the password is firmly saved by ChanServ and will not expire. This command is by default restricted to the channel founder.
/msg ChanServ SET #Channel MLOCK +k Password
Set or delete a ban for the user "Name" in the Channel "#Channel":
/mode #Channel +b Name /mode #Channel -b Name
Clear all bans in the Channel "#Channel":
/msg chanserv clear #channel bans
If you right-click on a name in the user list a context menu opens containing the following commands:
- "Open Profile" → Open the user's ingame profile in your browser
- "Open Guild" → Open the user's guild's description in your browser
- "Query" → Start a private chat with this user.
For using the following commands you need adequate privileges:
- kick user → kick user out of the actual channel
- kick/ban → kick user out and ban him so he cannot rejoin
- Op → Grant operator status
- Deop → Take away operator status
- Hop → Grant half-op status
- Dehop → Take away half-op status
- Voice → Grant voice status
- Devoice → Take away voice status
Keyboard function
- With ↑ and ↓ you can navigate through your last contributions
- While typing a user's name you can automatically complete it by pressing Ctrl.
Smilies
The chat client that can be started from within the game supports the following graphical smilies:
:) | happy / smiling |
:( | sad / disappointed |
:D | very happy / laughing |
:P | stick one's tongue out |
;) | wink |
:o | surprised / frightened |
:@ | angry |
:$ | blush / ashamed |
:S | feel uncomfortable, feel below par |
:W | cry |