nakedmud-mod/
nakedmud-mod/html/tutorials/
nakedmud-mod/html/tutorials/building_extras/
nakedmud-mod/html/tutorials/c/
nakedmud-mod/html/tutorials/reference/
nakedmud-mod/html/tutorials/scripting/
nakedmud-mod/html/tutorials/scripting_extras/
nakedmud-mod/lib/
nakedmud-mod/lib/help/A/
nakedmud-mod/lib/help/B/
nakedmud-mod/lib/help/C/
nakedmud-mod/lib/help/D/
nakedmud-mod/lib/help/G/
nakedmud-mod/lib/help/H/
nakedmud-mod/lib/help/J/
nakedmud-mod/lib/help/L/
nakedmud-mod/lib/help/M/
nakedmud-mod/lib/help/O/
nakedmud-mod/lib/help/P/
nakedmud-mod/lib/help/R/
nakedmud-mod/lib/help/S/
nakedmud-mod/lib/help/W/
nakedmud-mod/lib/logs/
nakedmud-mod/lib/misc/
nakedmud-mod/lib/players/
nakedmud-mod/lib/pymodules/polc/
nakedmud-mod/lib/txt/
nakedmud-mod/lib/world/
nakedmud-mod/lib/world/zones/examples/
nakedmud-mod/lib/world/zones/examples/mproto/
nakedmud-mod/lib/world/zones/examples/oproto/
nakedmud-mod/lib/world/zones/examples/reset/
nakedmud-mod/lib/world/zones/examples/rproto/
nakedmud-mod/lib/world/zones/examples/trigger/
nakedmud-mod/lib/world/zones/limbo/
nakedmud-mod/lib/world/zones/limbo/room/
nakedmud-mod/lib/world/zones/limbo/rproto/
nakedmud-mod/src/alias/
nakedmud-mod/src/dyn_vars/
nakedmud-mod/src/editor/
nakedmud-mod/src/example_module/
nakedmud-mod/src/help2/
nakedmud-mod/src/set_val/
nakedmud-mod/src/socials/
nakedmud-mod/src/time/
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: advanced_telopt</title>
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>advanced_telopt</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/mud/nakedmud-mod/lib/pymodules/advanced_telopt.py">/mud/nakedmud-mod/lib/pymodules/advanced_telopt.py</a></font></td></tr></table>
    <p><tt>advanced_telopt.py<br>
&nbsp;<br>
Adds&nbsp;advanced&nbsp;TELOPT&nbsp;negotiations&nbsp;to&nbsp;the&nbsp;MUD,&nbsp;including&nbsp;support&nbsp;for:<br>
&nbsp;<br>
*&nbsp;TELOPT_NAWS&nbsp;&nbsp;-&nbsp;Negotiate&nbsp;About&nbsp;Window&nbsp;Size<br>
&nbsp;&nbsp;&nbsp;&nbsp;Determine&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;client&nbsp;window&nbsp;in&nbsp;columns&nbsp;and&nbsp;rows.<br>
&nbsp;<br>
*&nbsp;TELOPT_TTYPE&nbsp;-&nbsp;Terminal&nbsp;Type<br>
&nbsp;&nbsp;&nbsp;&nbsp;Determine&nbsp;the&nbsp;connected&nbsp;client&nbsp;to&nbsp;estimate&nbsp;its&nbsp;capabilities.<br>
&nbsp;<br>
*&nbsp;TELOPT_EOR&nbsp;&nbsp;&nbsp;-&nbsp;End-of-Record<br>
&nbsp;&nbsp;&nbsp;&nbsp;Mark&nbsp;the&nbsp;end&nbsp;of&nbsp;text&nbsp;transmission&nbsp;from&nbsp;the&nbsp;server&nbsp;with&nbsp;IAC&nbsp;EOR&nbsp;to&nbsp;let&nbsp;a<br>
&nbsp;&nbsp;&nbsp;&nbsp;client&nbsp;know&nbsp;the&nbsp;exact&nbsp;point.&nbsp;If&nbsp;enabled,&nbsp;this&nbsp;is&nbsp;automatically&nbsp;appended<br>
&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;prompt.<br>
&nbsp;<br>
*&nbsp;TELOPT_MSP&nbsp;&nbsp;&nbsp;-&nbsp;MUD&nbsp;Sound&nbsp;Protocol<br>
&nbsp;&nbsp;&nbsp;&nbsp;Trigger&nbsp;the&nbsp;playback&nbsp;of&nbsp;sounds&nbsp;and&nbsp;music&nbsp;on&nbsp;the&nbsp;client.&nbsp;Only&nbsp;basic&nbsp;support<br>
&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;included...&nbsp;negotiation&nbsp;and&nbsp;the&nbsp;triggering&nbsp;of&nbsp;hooks&nbsp;when&nbsp;it's&nbsp;enabled<br>
&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;disabled.&nbsp;The&nbsp;rest&nbsp;of&nbsp;the&nbsp;implementation&nbsp;is&nbsp;up&nbsp;to&nbsp;the&nbsp;MUD&nbsp;creator,&nbsp;though<br>
&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;consists&nbsp;merely&nbsp;of&nbsp;sending&nbsp;your&nbsp;own&nbsp;MSP&nbsp;commands&nbsp;to&nbsp;the&nbsp;client.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
*&nbsp;TELOPT_MSDP&nbsp;&nbsp;-&nbsp;MUD&nbsp;Server&nbsp;Data&nbsp;Protocol<br>
&nbsp;&nbsp;&nbsp;&nbsp;MSDP&nbsp;allows&nbsp;you&nbsp;to&nbsp;easilly&nbsp;send&nbsp;variables&nbsp;to&nbsp;the&nbsp;client.<br>
&nbsp;<br>
*&nbsp;TELOPT_MXP&nbsp;&nbsp;&nbsp;-&nbsp;MUD&nbsp;eXtension&nbsp;Protocol<br>
&nbsp;&nbsp;&nbsp;&nbsp;MXP&nbsp;is,&nbsp;for&nbsp;those&nbsp;who&nbsp;don't&nbsp;know,&nbsp;an&nbsp;application&nbsp;of&nbsp;HTML-like&nbsp;tags&nbsp;to&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;MUD&nbsp;itself,&nbsp;allowing&nbsp;for&nbsp;richer&nbsp;interaction&nbsp;with&nbsp;the&nbsp;user.&nbsp;It&nbsp;is&nbsp;in&nbsp;no&nbsp;way<br>
&nbsp;&nbsp;&nbsp;&nbsp;critical&nbsp;to&nbsp;playing&nbsp;and&nbsp;enjoying&nbsp;the&nbsp;game,&nbsp;but&nbsp;it&nbsp;is&nbsp;a&nbsp;nice&nbsp;touch.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;implementation&nbsp;of&nbsp;MXP&nbsp;isn't&nbsp;complete,&nbsp;as&nbsp;it&nbsp;doesn't&nbsp;handle<br>
&nbsp;&nbsp;&nbsp;&nbsp;asking&nbsp;the&nbsp;client&nbsp;which&nbsp;tags&nbsp;it&nbsp;supports.&nbsp;I'd&nbsp;recommend&nbsp;keeping&nbsp;yourself<br>
&nbsp;&nbsp;&nbsp;&nbsp;limited&nbsp;to&nbsp;simple&nbsp;tags&nbsp;like&nbsp;&lt;SEND&gt;&nbsp;if&nbsp;you&nbsp;don't&nbsp;add&nbsp;&lt;SUPPORTS&gt;&nbsp;support.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;more&nbsp;information&nbsp;about&nbsp;MXP,&nbsp;visit&nbsp;<a href="http://www.zuggsoft.com/zmud/mxp.htm">http://www.zuggsoft.com/zmud/mxp.htm</a><br>
&nbsp;<br>
*&nbsp;Window&nbsp;Title&nbsp;Text<br>
&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;a&nbsp;custom&nbsp;string&nbsp;to&nbsp;the&nbsp;window's&nbsp;title&nbsp;bar.&nbsp;This&nbsp;also&nbsp;works&nbsp;together<br>
&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;TELOPT_TTYPE&nbsp;to&nbsp;avoid&nbsp;sending&nbsp;the&nbsp;code&nbsp;to&nbsp;clients&nbsp;that&nbsp;wouldn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;properly&nbsp;interpret&nbsp;it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;the&nbsp;bell()&nbsp;function&nbsp;of&nbsp;a&nbsp;socket&nbsp;is&nbsp;called,&nbsp;the&nbsp;title&nbsp;will&nbsp;be&nbsp;flashed<br>
&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;two&nbsp;prepended&nbsp;asterisks&nbsp;until&nbsp;the&nbsp;next&nbsp;command&nbsp;is&nbsp;recieved.&nbsp;This&nbsp;can<br>
&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;used&nbsp;to&nbsp;notify&nbsp;a&nbsp;distracted&nbsp;player&nbsp;when&nbsp;the&nbsp;MUD&nbsp;needs&nbsp;their&nbsp;input.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
*&nbsp;XTERM&nbsp;256&nbsp;and&nbsp;ANSI&nbsp;Colors<br>
&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;file&nbsp;also&nbsp;handles&nbsp;color&nbsp;code&nbsp;parsing,&nbsp;taking&nbsp;that&nbsp;functionality&nbsp;away<br>
&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;colour.py&nbsp;as&nbsp;to&nbsp;combine&nbsp;color&nbsp;formatting&nbsp;and&nbsp;MXP&nbsp;conversion&nbsp;into&nbsp;one<br>
&nbsp;&nbsp;&nbsp;&nbsp;post-processing&nbsp;function.&nbsp;I&nbsp;haven't&nbsp;tested&nbsp;it,&nbsp;but&nbsp;I&nbsp;can&nbsp;only&nbsp;assume&nbsp;that<br>
&nbsp;&nbsp;&nbsp;&nbsp;one&nbsp;less&nbsp;function&nbsp;call&nbsp;makes&nbsp;things&nbsp;easier&nbsp;on&nbsp;the&nbsp;server.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="auxiliary.html">auxiliary</a><br>
<a href="event.html">event</a><br>
<a href="hooks.html">hooks</a><br>
</td><td width="25%" valign=top><a href="mud.html">mud</a><br>
<a href="mudsock.html">mudsock</a><br>
<a href="mudsys.html">mudsys</a><br>
</td><td width="25%" valign=top><a href="random.html">random</a><br>
<a href="re.html">re</a><br>
<a href="storage.html">storage</a><br>
</td><td width="25%" valign=top><a href="telnetlib.html">telnetlib</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="advanced_telopt.html#TeloptAux">TeloptAux</a>
</font></dt><dt><font face="helvetica, arial"><a href="advanced_telopt.html#VariableData">VariableData</a>
</font></dt></dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TeloptAux">class <strong>TeloptAux</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TeloptAux-__init__"><strong>__init__</strong></a>(self, set<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="TeloptAux-copy"><strong>copy</strong></a>(self)</dt></dl>

<dl><dt><a name="TeloptAux-copyTo"><strong>copyTo</strong></a>(self, to)</dt></dl>

<dl><dt><a name="TeloptAux-load"><strong>load</strong></a>(self, set<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="TeloptAux-store"><strong>store</strong></a>(self)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="VariableData">class <strong>VariableData</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>################################################################################<br>
#&nbsp;Auxiliary&nbsp;Data&nbsp;for&nbsp;the&nbsp;Socket<br>
################################################################################<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="VariableData-__delitem__"><strong>__delitem__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="VariableData-__getitem__"><strong>__getitem__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="VariableData-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="VariableData-__setitem__"><strong>__setitem__</strong></a>(self, key, val)</dt></dl>

<dl><dt><a name="VariableData-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<dl><dt><a name="VariableData-copy"><strong>copy</strong></a>(self)</dt></dl>

<dl><dt><a name="VariableData-has_key"><strong>has_key</strong></a>(self, key)</dt></dl>

</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
    
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-__unload__"><strong>__unload__</strong></a>()</dt><dd><tt>Detatch&nbsp;our&nbsp;hooks&nbsp;from&nbsp;the&nbsp;game.</tt></dd></dl>
 <dl><dt><a name="-ansi_color"><strong>ansi_color</strong></a>(match)</dt><dd><tt>Replace&nbsp;a&nbsp;matching&nbsp;color&nbsp;code&nbsp;with&nbsp;the&nbsp;simplified&nbsp;ANSI&nbsp;escape&nbsp;sequence.</tt></dd></dl>
 <dl><dt><a name="-begin_negotiations"><strong>begin_negotiations</strong></a>(info)</dt><dd><tt>Sends&nbsp;the&nbsp;initial&nbsp;negotiation&nbsp;strings&nbsp;to&nbsp;new&nbsp;sockets.</tt></dd></dl>
 <dl><dt><a name="-c256_color"><strong>c256_color</strong></a>(match)</dt><dd><tt>Replace&nbsp;a&nbsp;matching&nbsp;color&nbsp;code&nbsp;with&nbsp;the&nbsp;proper&nbsp;256-color&nbsp;escape&nbsp;sequence.</tt></dd></dl>
 <dl><dt><a name="-cmd_colors"><strong>cmd_colors</strong></a>(ch, cmd, arg)</dt><dd><tt>Usage:&nbsp;{Wcolors{n<br>
&nbsp;<br>
Displays&nbsp;a&nbsp;table&nbsp;of&nbsp;avaliable&nbsp;colors&nbsp;and&nbsp;the&nbsp;code&nbsp;used&nbsp;to&nbsp;select&nbsp;them.</tt></dd></dl>
 <dl><dt><a name="-copyover"><strong>copyover</strong></a>()</dt><dd><tt>Saves&nbsp;the&nbsp;telopt&nbsp;auxiliary&nbsp;data&nbsp;of&nbsp;all&nbsp;active&nbsp;connections&nbsp;with&nbsp;set&nbsp;players<br>
to&nbsp;be&nbsp;restored&nbsp;after&nbsp;the&nbsp;copyover&nbsp;is&nbsp;complete.</tt></dd></dl>
 <dl><dt><a name="-copyover_complete"><strong>copyover_complete</strong></a>(info)</dt><dd><tt>Loads&nbsp;socket&nbsp;auxiliary&nbsp;data&nbsp;for&nbsp;the&nbsp;active&nbsp;connections&nbsp;from&nbsp;a&nbsp;file.</tt></dd></dl>
 <dl><dt><a name="-flash_title"><strong>flash_title</strong></a>(owner, data, arg)</dt><dd><tt>Scheduled&nbsp;event&nbsp;that,&nbsp;once&nbsp;per&nbsp;second,&nbsp;toggles&nbsp;the&nbsp;titlebar&nbsp;notification&nbsp;flag&nbsp;and&nbsp;sends&nbsp;the&nbsp;updated&nbsp;title&nbsp;to&nbsp;the&nbsp;client.</tt></dd></dl>
 <dl><dt><a name="-msdp_start_hook"><strong>msdp_start_hook</strong></a>(info)</dt><dd><tt>Send&nbsp;out&nbsp;all&nbsp;the&nbsp;current&nbsp;MSDP&nbsp;variables.</tt></dd></dl>
 <dl><dt><a name="-mxp_color"><strong>mxp_color</strong></a>(match)</dt><dd><tt>Replace&nbsp;a&nbsp;matching&nbsp;color&nbsp;code&nbsp;with&nbsp;an&nbsp;MXP&nbsp;tag.&nbsp;This&nbsp;is&nbsp;for&nbsp;zMUD.</tt></dd></dl>
 <dl><dt><a name="-mxp_start_hook"><strong>mxp_start_hook</strong></a>(info)</dt><dd><tt>Send&nbsp;out&nbsp;our&nbsp;notice&nbsp;that&nbsp;MXP&nbsp;is&nbsp;starting,&nbsp;along&nbsp;with&nbsp;the&nbsp;MXP&nbsp;tags.</tt></dd></dl>
 <dl><dt><a name="-mxp_stop_hook"><strong>mxp_stop_hook</strong></a>(info)</dt><dd><tt>Send&nbsp;a&nbsp;wont&nbsp;MXP&nbsp;string.</tt></dd></dl>
 <dl><dt><a name="-mxp_tag"><strong>mxp_tag</strong></a>(sock, text<font color="#909090">=''</font>, tag<font color="#909090">=''</font>, args<font color="#909090">=''</font>, closing<font color="#909090">=False</font>)</dt><dd><tt>Output&nbsp;a&nbsp;MXP&nbsp;tag.&nbsp;If&nbsp;it's&nbsp;a&nbsp;secure&nbsp;tag,&nbsp;flag&nbsp;the&nbsp;socket&nbsp;so&nbsp;it's&nbsp;next&nbsp;line&nbsp;is&nbsp;sent&nbsp;secure.<br>
&nbsp;<br>
If&nbsp;closing&nbsp;is&nbsp;true&nbsp;and&nbsp;text&nbsp;is&nbsp;not&nbsp;supplied,&nbsp;only&nbsp;a&nbsp;closing&nbsp;tag&nbsp;will&nbsp;be&nbsp;returned.&nbsp;Be&nbsp;sure&nbsp;that&nbsp;args&nbsp;is&nbsp;None&nbsp;if&nbsp;you're&nbsp;making&nbsp;a&nbsp;closing&nbsp;tag.<br>
If&nbsp;text&nbsp;is&nbsp;None,&nbsp;only&nbsp;a&nbsp;single&nbsp;tag&nbsp;will&nbsp;be&nbsp;created.&nbsp;This&nbsp;can&nbsp;be&nbsp;useful&nbsp;for&nbsp;sending&nbsp;things&nbsp;like&nbsp;the&nbsp;&lt;IMAGE&gt;&nbsp;tag.</tt></dd></dl>
 <dl><dt><a name="-post_command"><strong>post_command</strong></a>(info)</dt><dd><tt>Hook&nbsp;that&nbsp;will&nbsp;stop&nbsp;flashing&nbsp;the&nbsp;titlebar&nbsp;once&nbsp;a&nbsp;command&nbsp;is&nbsp;recieved.</tt></dd></dl>
 <dl><dt><a name="-process_iac_sequence"><strong>process_iac_sequence</strong></a>(info)</dt><dd><tt>Process&nbsp;the&nbsp;IAC&nbsp;sequence&nbsp;to&nbsp;see&nbsp;if&nbsp;it&nbsp;was&nbsp;one&nbsp;of&nbsp;the&nbsp;options&nbsp;supported.</tt></dd></dl>
 <dl><dt><a name="-process_outbound_prompt"><strong>process_outbound_prompt</strong></a>(info)</dt><dd><tt>Process&nbsp;outbound&nbsp;prompt&nbsp;to&nbsp;add&nbsp;END-OF-RECORD&nbsp;on&nbsp;the&nbsp;end&nbsp;if&nbsp;necessary.</tt></dd></dl>
 <dl><dt><a name="-process_outbound_text"><strong>process_outbound_text</strong></a>(info)</dt><dd><tt>Process&nbsp;outbound&nbsp;text&nbsp;by&nbsp;replacing&nbsp;color&nbsp;codes&nbsp;and&nbsp;escaping&nbsp;MXP&nbsp;tags.</tt></dd></dl>
 <dl><dt><a name="-register_mxp_flag"><strong>register_mxp_flag</strong></a>(name, flag)</dt><dd><tt>Add&nbsp;a&nbsp;new&nbsp;MXP&nbsp;flag&nbsp;to&nbsp;the&nbsp;list&nbsp;of&nbsp;tags.&nbsp;This&nbsp;is&nbsp;good&nbsp;for&nbsp;easilly&nbsp;setting&nbsp;a&nbsp;list&nbsp;of<br>
variables&nbsp;for&nbsp;things&nbsp;like&nbsp;the&nbsp;prompt,&nbsp;or&nbsp;adding&nbsp;custom&nbsp;tags&nbsp;for&nbsp;flagging&nbsp;room<br>
names&nbsp;and&nbsp;descriptions&nbsp;and&nbsp;the&nbsp;like.</tt></dd></dl>
 <dl><dt><a name="-register_mxp_tag"><strong>register_mxp_tag</strong></a>(name, args<font color="#909090">=None</font>, secure<font color="#909090">=False</font>)</dt><dd><tt>Add&nbsp;a&nbsp;new&nbsp;MXP&nbsp;tag&nbsp;to&nbsp;the&nbsp;list&nbsp;of&nbsp;tags.&nbsp;The&nbsp;name&nbsp;must&nbsp;be&nbsp;an&nbsp;alphanumeric&nbsp;string,&nbsp;and<br>
args&nbsp;should&nbsp;be&nbsp;a&nbsp;string&nbsp;of&nbsp;the&nbsp;element's&nbsp;arguments,&nbsp;though&nbsp;it&nbsp;could&nbsp;be&nbsp;None.&nbsp;If&nbsp;secure<br>
is&nbsp;true,&nbsp;the&nbsp;tag&nbsp;will&nbsp;be&nbsp;added&nbsp;to&nbsp;a&nbsp;list&nbsp;of&nbsp;flags&nbsp;that&nbsp;are&nbsp;sent&nbsp;via&nbsp;an&nbsp;MXP&nbsp;secure&nbsp;line.</tt></dd></dl>
 <dl><dt><a name="-rgb2hsv"><strong>rgb2hsv</strong></a>(r, g, b)</dt><dd><tt>Convert&nbsp;an&nbsp;RGB&nbsp;color&nbsp;to&nbsp;HSV.</tt></dd></dl>
 <dl><dt><a name="-send_title"><strong>send_title</strong></a>(sock)</dt><dd><tt>Sends&nbsp;the&nbsp;current&nbsp;title&nbsp;string&nbsp;to&nbsp;the&nbsp;socket.</tt></dd></dl>
 <dl><dt><a name="-simplecolor"><strong>simplecolor</strong></a>(c, html<font color="#909090">=False</font>)</dt><dd><tt>Simplify&nbsp;an&nbsp;xterm&nbsp;256&nbsp;color&nbsp;code&nbsp;down&nbsp;to&nbsp;ANSI&nbsp;16.&nbsp;It&nbsp;isn't&nbsp;perfect,<br>
but&nbsp;it&nbsp;works&nbsp;a&nbsp;whole&nbsp;lot&nbsp;better&nbsp;than&nbsp;stripping&nbsp;all&nbsp;color,&nbsp;or&nbsp;letting<br>
people&nbsp;with&nbsp;poor&nbsp;client&nbsp;choices&nbsp;from&nbsp;seeing&nbsp;a&nbsp;screen&nbsp;of&nbsp;garbled&nbsp;mess.<br>
&nbsp;<br>
Will&nbsp;return&nbsp;an&nbsp;HTML&nbsp;hex&nbsp;color&nbsp;code&nbsp;if&nbsp;html&nbsp;is&nbsp;true</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>MSDP</strong> = 'E'<br>
<strong>MSDP_VAL</strong> = '<font color="#c040c0">\x02</font>'<br>
<strong>MSDP_VAR</strong> = '<font color="#c040c0">\x01</font>'<br>
<strong>MSP</strong> = 'Z'<br>
<strong>MXP</strong> = '['<br>
<strong>client_do_eor</strong> = '<font color="#c040c0">\xff\xfd\x19</font>'<br>
<strong>client_do_msdp</strong> = '<font color="#c040c0">\xff\xfd</font>E'<br>
<strong>client_do_msp</strong> = '<font color="#c040c0">\xff\xfd</font>Z'<br>
<strong>client_do_mxp</strong> = '<font color="#c040c0">\xff\xfd</font>['<br>
<strong>client_dont_eor</strong> = '<font color="#c040c0">\xff\xfe\x19</font>'<br>
<strong>client_dont_msdp</strong> = '<font color="#c040c0">\xff\xfe</font>E'<br>
<strong>client_dont_msp</strong> = '<font color="#c040c0">\xff\xfe</font>Z'<br>
<strong>client_dont_mxp</strong> = '<font color="#c040c0">\xff\xfe</font>['<br>
<strong>client_naws</strong> = '<font color="#c040c0">\xff\xfa\x1f</font>'<br>
<strong>client_ttype_is</strong> = '<font color="#c040c0">\xff\xfa\x18</font>'<br>
<strong>client_will_naws</strong> = '<font color="#c040c0">\xff\xfb\x1f</font>'<br>
<strong>client_will_ttype</strong> = '<font color="#c040c0">\xff\xfb\x18</font>'<br>
<strong>clients</strong> = ['jmud', 'xterm', 'fmud', 'zmud', 'mushclient', 'tintin++', 'ansi', 'unknown']<br>
<strong>clients256</strong> = ['jmud', 'zmud', 'mushclient', 'tintin++', 'xterm']<br>
<strong>coloreg</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
<strong>colorletters</strong> = 'drgybpcwDRGYBPCW'<br>
<strong>colors</strong> = {'b': '34', 'c': '36', 'd': '30', 'g': '32', 'n': '0', 'p': '35', 'r': '31', 'w': '37', 'y': '33'}<br>
<strong>colorvalues</strong> = [0, 95, 135, 175, 215, 255]<br>
<strong>copyover_file</strong> = '../lib/misc/copyover'<br>
<strong>extcolors</strong> = ['0;30', '0;31', '0;32', '0;33', '0;34', '0;35', '0;36', '0;37', '1;30', '1;31', '1;32', '1;33', '1;34', '1;35', '1;36', '1;37', '0;30', '0;34', '0;34', '0;34', ...]<br>
<strong>htmlcolors</strong> = ['#000000', '#800000', '#008000', '#808000', '#000080', '#800080', '#008080', '#C0C0C0', '#808080', '#FF0000', '#00FF00', '#FFFF00', '#0000FF', '#FF00FF', '#00FFFF', '#FFFFFF', '#000000', '#00005f', '#000087', '#0000af', ...]<br>
<strong>linkreg</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
<strong>msdp_end</strong> = '<font color="#c040c0">\xff\xf0</font>'<br>
<strong>msdp_start</strong> = '<font color="#c040c0">\xff\xfa</font>E'<br>
<strong>mxp_and</strong> = '<font color="#c040c0">\x04</font>MXP<font color="#c040c0">\x03</font>'<br>
<strong>mxp_escape</strong> = '<font color="#c040c0">\x1b</font>['<br>
<strong>mxp_lock_locked</strong> = '<font color="#c040c0">\x1b</font>[7z'<br>
<strong>mxp_lock_open</strong> = '<font color="#c040c0">\x1b</font>[5z'<br>
<strong>mxp_lock_secure</strong> = '<font color="#c040c0">\x1b</font>[6z'<br>
<strong>mxp_locked_line</strong> = '<font color="#c040c0">\x1b</font>[2z'<br>
<strong>mxp_open_line</strong> = '<font color="#c040c0">\x1b</font>[0z'<br>
<strong>mxp_reset</strong> = '<font color="#c040c0">\x1b</font>[3z'<br>
<strong>mxp_secure_line</strong> = '<font color="#c040c0">\x1b</font>[1z'<br>
<strong>mxp_secure_tags</strong> = ['SEND', 'A', 'VAR', 'NOBR', 'P', 'BR', 'SBR', 'EXPIRE', 'VERSION', 'SUPPORT', 'GAUGE', 'STAT', 'SOUND', 'MUSIC', 'FRAME', 'DEST', 'RELOCATE', 'IMAGE', 'FILTER']<br>
<strong>mxp_tag_end</strong> = '<font color="#c040c0">\x02</font>MXP<font color="#c040c0">\x03</font>'<br>
<strong>mxp_tag_start</strong> = '<font color="#c040c0">\x01</font>MXP<font color="#c040c0">\x03</font>'<br>
<strong>mxp_tags</strong> = []<br>
<strong>mxp_temp_secure</strong> = '<font color="#c040c0">\x1b</font>[4z'<br>
<strong>mxpreg</strong> = &lt;_sre.SRE_Pattern object&gt;<br>
<strong>no_title</strong> = ['fmud', 'zmud', 'mushclient', 'ansi', 'unknown']<br>
<strong>server_do_naws</strong> = '<font color="#c040c0">\xff\xfd\x1f</font>'<br>
<strong>server_do_ttype</strong> = '<font color="#c040c0">\xff\xfd\x18</font>'<br>
<strong>server_eor_code</strong> = '<font color="#c040c0">\xff\xef</font>'<br>
<strong>server_send_ttype</strong> = '<font color="#c040c0">\xff\xfa\x18\x01\xff\xf0</font>'<br>
<strong>server_start_mxp</strong> = '<font color="#c040c0">\xff\xfa</font>[<font color="#c040c0">\xff\xf0</font>'<br>
<strong>server_will_eor</strong> = '<font color="#c040c0">\xff\xfb\x19</font>'<br>
<strong>server_will_msdp</strong> = '<font color="#c040c0">\xff\xfb</font>E'<br>
<strong>server_will_msp</strong> = '<font color="#c040c0">\xff\xfb</font>Z'<br>
<strong>server_will_mxp</strong> = '<font color="#c040c0">\xff\xfb</font>['<br>
<strong>server_wont_eor</strong> = '<font color="#c040c0">\xff\xfc\x19</font>'<br>
<strong>server_wont_msp</strong> = '<font color="#c040c0">\xff\xfc</font>Z'<br>
<strong>server_wont_mxp</strong> = '<font color="#c040c0">\xff\xfc</font>['</td></tr></table>
</body></html>