Start add docs again
This commit is contained in:
parent
b7fc975379
commit
d414cc3ccd
61 changed files with 235 additions and 236 deletions
|
|
@ -303,7 +303,7 @@ class GrapevineClient(WebSocketClientProtocol, Session):
|
|||
"""
|
||||
Send data grapevine -> Evennia
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
data (dict): Converted json data.
|
||||
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ class IRCBot(irc.IRCClient, Session):
|
|||
"""
|
||||
Data IRC -> Server.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
text (str): Ingoing text.
|
||||
kwargs (any): Other data from protocol.
|
||||
|
||||
|
|
@ -306,7 +306,7 @@ class IRCBot(irc.IRCClient, Session):
|
|||
Args:
|
||||
text (str): Outgoing text.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
user (str): the nick to send
|
||||
privately to.
|
||||
|
||||
|
|
@ -375,7 +375,7 @@ class IRCBotFactory(protocol.ReconnectingClientFactory):
|
|||
Args:
|
||||
sessionhandler (SessionHandler): Reference to the main Sessionhandler.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
uid (int): Bot user id.
|
||||
botname (str): Bot name (seen in IRC channel).
|
||||
channel (str): IRC channel to connect to.
|
||||
|
|
|
|||
|
|
@ -375,7 +375,7 @@ class PortalSessionHandler(SessionHandler):
|
|||
Args:
|
||||
session (PortalSession): Session receiving data.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Other data from protocol.
|
||||
|
||||
Notes:
|
||||
|
|
@ -433,7 +433,7 @@ class PortalSessionHandler(SessionHandler):
|
|||
Args:
|
||||
session (Session): Session sending data.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Each key is a command instruction to the
|
||||
protocol on the form key = [[args],{kwargs}]. This will
|
||||
call a method send_<key> on the protocol. If no such
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class RSSReader(Session):
|
|||
"""
|
||||
Data RSS -> Evennia.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
text (str): Incoming text
|
||||
kwargs (any): Options from protocol.
|
||||
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ class SshProtocol(Manhole, session.Session):
|
|||
"""
|
||||
Data Evennia -> User
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Options to the protocol.
|
||||
|
||||
"""
|
||||
|
|
@ -276,18 +276,18 @@ class SshProtocol(Manhole, session.Session):
|
|||
Args:
|
||||
text (str): The first argument is always the text string to send. No other arguments
|
||||
are considered.
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
options (dict): Send-option flags
|
||||
- mxp: Enforce MXP link support.
|
||||
- ansi: Enforce no ANSI colors.
|
||||
- xterm256: Enforce xterm256 colors, regardless of TTYPE setting.
|
||||
- nocolor: Strip all colors.
|
||||
- raw: Pass string through without any ansi processing
|
||||
(i.e. include Evennia ansi markers but do not
|
||||
convert them into ansi tokens)
|
||||
- echo: Turn on/off line echo on the client. Turn
|
||||
off line echo for client, for example for password.
|
||||
Note that it must be actively turned back on again!
|
||||
- mxp: Enforce MXP link support.
|
||||
- ansi: Enforce no ANSI colors.
|
||||
- xterm256: Enforce xterm256 colors, regardless of TTYPE setting.
|
||||
- nocolor: Strip all colors.
|
||||
- raw: Pass string through without any ansi processing
|
||||
(i.e. include Evennia ansi markers but do not
|
||||
convert them into ansi tokens)
|
||||
- echo: Turn on/off line echo on the client. Turn
|
||||
off line echo for client, for example for password.
|
||||
Note that it must be actively turned back on again!
|
||||
|
||||
"""
|
||||
# print "telnet.send_text", args,kwargs # DEBUG
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
|
|||
"""
|
||||
Data User -> Evennia
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Options from the protocol.
|
||||
|
||||
"""
|
||||
|
|
@ -373,7 +373,7 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
|
|||
"""
|
||||
Data Evennia -> User
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Options to the protocol
|
||||
"""
|
||||
self.sessionhandler.data_out(self, **kwargs)
|
||||
|
|
@ -387,19 +387,19 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
|
|||
Args:
|
||||
text (str): The first argument is always the text string to send. No other arguments
|
||||
are considered.
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
options (dict): Send-option flags
|
||||
- mxp: Enforce MXP link support.
|
||||
- ansi: Enforce no ANSI colors.
|
||||
- xterm256: Enforce xterm256 colors, regardless of TTYPE.
|
||||
- noxterm256: Enforce no xterm256 color support, regardless of TTYPE.
|
||||
- nocolor: Strip all Color, regardless of ansi/xterm256 setting.
|
||||
- raw: Pass string through without any ansi processing
|
||||
(i.e. include Evennia ansi markers but do not
|
||||
convert them into ansi tokens)
|
||||
- echo: Turn on/off line echo on the client. Turn
|
||||
off line echo for client, for example for password.
|
||||
Note that it must be actively turned back on again!
|
||||
- mxp: Enforce MXP link support.
|
||||
- ansi: Enforce no ANSI colors.
|
||||
- xterm256: Enforce xterm256 colors, regardless of TTYPE.
|
||||
- noxterm256: Enforce no xterm256 color support, regardless of TTYPE.
|
||||
- nocolor: Strip all Color, regardless of ansi/xterm256 setting.
|
||||
- raw: Pass string through without any ansi processing
|
||||
(i.e. include Evennia ansi markers but do not
|
||||
convert them into ansi tokens)
|
||||
- echo: Turn on/off line echo on the client. Turn
|
||||
off line echo for client, for example for password.
|
||||
Note that it must be actively turned back on again!
|
||||
|
||||
"""
|
||||
text = args[0] if args else ""
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ instruct the client to play sounds or to update a graphical health
|
|||
bar.
|
||||
|
||||
> Note that in Evennia's Web client, all send commands are "OOB commands",
|
||||
(including the "text" one), there is no equivalence to MSDP/GMCP for the
|
||||
webclient since it doesn't need it.
|
||||
(including the "text" one), there is no equivalence to MSDP/GMCP for the
|
||||
webclient since it doesn't need it.
|
||||
|
||||
This implements the following telnet OOB communication protocols:
|
||||
|
||||
|
|
@ -159,14 +159,15 @@ class TelnetOOB(object):
|
|||
Notes:
|
||||
The output of this encoding will be
|
||||
MSDP structures on these forms:
|
||||
```
|
||||
[cmdname, [], {}] -> VAR cmdname VAL ""
|
||||
[cmdname, [arg], {}] -> VAR cmdname VAL arg
|
||||
[cmdname, [args],{}] -> VAR cmdname VAL ARRAYOPEN VAL arg VAL arg ... ARRAYCLOSE
|
||||
[cmdname, [], {kwargs}] -> VAR cmdname VAL TABLEOPEN VAR key VAL val ... TABLECLOSE
|
||||
[cmdname, [args], {kwargs}] -> VAR cmdname VAL ARRAYOPEN VAL arg VAL arg ... ARRAYCLOSE
|
||||
VAR cmdname VAL TABLEOPEN VAR key VAL val ... TABLECLOSE
|
||||
```
|
||||
::
|
||||
|
||||
[cmdname, [], {}] -> VAR cmdname VAL ""
|
||||
[cmdname, [arg], {}] -> VAR cmdname VAL arg
|
||||
[cmdname, [args],{}] -> VAR cmdname VAL ARRAYOPEN VAL arg VAL arg ... ARRAYCLOSE
|
||||
[cmdname, [], {kwargs}] -> VAR cmdname VAL TABLEOPEN VAR key VAL val ... TABLECLOSE
|
||||
[cmdname, [args], {kwargs}] -> VAR cmdname VAL ARRAYOPEN VAL arg VAL arg ... ARRAYCLOSE
|
||||
VAR cmdname VAL TABLEOPEN VAR key VAL val ... TABLECLOSE
|
||||
|
||||
Further nesting is not supported, so if an array argument consists
|
||||
of an array (for example), that array will be json-converted to a
|
||||
string.
|
||||
|
|
@ -233,25 +234,24 @@ class TelnetOOB(object):
|
|||
to have adopted). A cmdname without Package will end
|
||||
up in the Core package, while Core package names will
|
||||
be stripped on the Evennia side.
|
||||
::
|
||||
|
||||
```
|
||||
[cmd.name, [], {}] -> Cmd.Name
|
||||
[cmd.name, [arg], {}] -> Cmd.Name arg
|
||||
[cmd.name, [args],{}] -> Cmd.Name [args]
|
||||
[cmd.name, [], {kwargs}] -> Cmd.Name {kwargs}
|
||||
[cmdname, [args, {kwargs}] -> Core.Cmdname [[args],{kwargs}]
|
||||
```
|
||||
[cmd.name, [], {}] -> Cmd.Name
|
||||
[cmd.name, [arg], {}] -> Cmd.Name arg
|
||||
[cmd.name, [args],{}] -> Cmd.Name [args]
|
||||
[cmd.name, [], {kwargs}] -> Cmd.Name {kwargs}
|
||||
[cmdname, [args, {kwargs}] -> Core.Cmdname [[args],{kwargs}]
|
||||
|
||||
Notes:
|
||||
There are also a few default mappings between evennia outputcmds and
|
||||
GMCP:
|
||||
```
|
||||
client_options -> Core.Supports.Get
|
||||
get_inputfuncs -> Core.Commands.Get
|
||||
get_value -> Char.Value.Get
|
||||
repeat -> Char.Repeat.Update
|
||||
monitor -> Char.Monitor.Update
|
||||
```
|
||||
::
|
||||
|
||||
client_options -> Core.Supports.Get
|
||||
get_inputfuncs -> Core.Commands.Get
|
||||
get_value -> Char.Value.Get
|
||||
repeat -> Char.Repeat.Update
|
||||
monitor -> Char.Monitor.Update
|
||||
|
||||
"""
|
||||
|
||||
|
|
@ -287,14 +287,13 @@ class TelnetOOB(object):
|
|||
Notes:
|
||||
Clients should always send MSDP data on
|
||||
one of the following forms:
|
||||
::
|
||||
|
||||
```
|
||||
cmdname '' -> [cmdname, [], {}]
|
||||
cmdname val -> [cmdname, [val], {}]
|
||||
cmdname array -> [cmdname, [array], {}]
|
||||
cmdname table -> [cmdname, [], {table}]
|
||||
cmdname array cmdname table -> [cmdname, [array], {table}]
|
||||
```
|
||||
cmdname '' -> [cmdname, [], {}]
|
||||
cmdname val -> [cmdname, [val], {}]
|
||||
cmdname array -> [cmdname, [array], {}]
|
||||
cmdname table -> [cmdname, [], {table}]
|
||||
cmdname array cmdname table -> [cmdname, [array], {table}]
|
||||
|
||||
Observe that all MSDP_VARS are used to identify cmdnames,
|
||||
so if there are multiple arrays with the same cmdname
|
||||
|
|
@ -388,14 +387,13 @@ class TelnetOOB(object):
|
|||
We assume the structure is valid JSON.
|
||||
|
||||
The following is parsed into Evennia's formal structure:
|
||||
::
|
||||
|
||||
```
|
||||
Core.Name -> [name, [], {}]
|
||||
Core.Name string -> [name, [string], {}]
|
||||
Core.Name [arg, arg,...] -> [name, [args], {}]
|
||||
Core.Name {key:arg, key:arg, ...} -> [name, [], {kwargs}]
|
||||
Core.Name [[args], {kwargs}] -> [name, [args], {kwargs}]
|
||||
```
|
||||
Core.Name -> [name, [], {}]
|
||||
Core.Name string -> [name, [string], {}]
|
||||
Core.Name [arg, arg,...] -> [name, [args], {}]
|
||||
Core.Name {key:arg, key:arg, ...} -> [name, [], {kwargs}]
|
||||
Core.Name [[args], {kwargs}] -> [name, [args], {kwargs}]
|
||||
|
||||
"""
|
||||
if isinstance(data, list):
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ class WebSocketClient(WebSocketServerProtocol, Session):
|
|||
Args:
|
||||
text (str): Text to send.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
options (dict): Options-dict with the following keys understood:
|
||||
- raw (bool): No parsing at all (leave ansi-to-html markers unparsed).
|
||||
- nocolor (bool): Clean out all color.
|
||||
|
|
@ -297,7 +297,7 @@ class WebSocketClient(WebSocketServerProtocol, Session):
|
|||
cmdname (str): The first argument will always be the oob cmd name.
|
||||
*args (any): Remaining args will be arguments for `cmd`.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
options (dict): These are ignored for oob commands. Use command
|
||||
arguments (which can hold dicts) to send instructions to the
|
||||
client instead.
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ class AjaxWebClientSession(session.Session):
|
|||
"""
|
||||
Data User -> Evennia
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Incoming data.
|
||||
|
||||
"""
|
||||
|
|
@ -392,7 +392,7 @@ class AjaxWebClientSession(session.Session):
|
|||
"""
|
||||
Data Evennia -> User
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
kwargs (any): Options to the protocol
|
||||
"""
|
||||
self.sessionhandler.data_out(self, **kwargs)
|
||||
|
|
@ -405,7 +405,7 @@ class AjaxWebClientSession(session.Session):
|
|||
Args:
|
||||
text (str): Text to send.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
options (dict): Options-dict with the following keys understood:
|
||||
- raw (bool): No parsing at all (leave ansi-to-html markers unparsed).
|
||||
- nocolor (bool): Remove all color.
|
||||
|
|
@ -457,7 +457,7 @@ class AjaxWebClientSession(session.Session):
|
|||
cmdname (str): The first argument will always be the oob cmd name.
|
||||
*args (any): Remaining args will be arguments for `cmd`.
|
||||
|
||||
Kwargs:
|
||||
Keyword Args:
|
||||
options (dict): These are ignored for oob commands. Use command
|
||||
arguments (which can hold dicts) to send instructions to the
|
||||
client instead.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue