SYMBOL INDEX (873 symbols across 99 files) FILE: conftest.py function pytest_runtest_setup (line 15) | def pytest_runtest_setup(item): function cls_event_loop (line 25) | def cls_event_loop(request, event_loop): function irc3_bot_factory (line 33) | def irc3_bot_factory(request, event_loop): FILE: examples/async_command.py class AsyncCommands (line 8) | class AsyncCommands(object): method __init__ (line 17) | def __init__(self, bot): method put (line 22) | def put(self, mask, target, args): method get (line 32) | async def get(self, mask, target, args): FILE: examples/benches.py class Plugin (line 9) | class Plugin(object): method __init__ (line 11) | def __init__(self, context): method connected (line 18) | def connected(self, **kw): method msg (line 21) | def msg(self): method join (line 29) | def join(self, mask=None, **kw): function main (line 35) | def main(): FILE: examples/dcc_chat.py class Plugin (line 8) | class Plugin(object): method __init__ (line 10) | def __init__(self, context): method connected (line 15) | def connected(self, **kw): method join (line 19) | async def join(self, mask=None, **kw): method on_ctcp (line 31) | async def on_ctcp(self, mask=None, **kwargs): method on_dcc (line 47) | def on_dcc(self, client=None, data=None): function main (line 52) | def main(): FILE: examples/dcc_send.py class DCC (line 10) | class DCC(object): method __init__ (line 14) | def __init__(self, bot): method send (line 23) | async def send(self, mask, target, args): FILE: examples/dcc_send_and_get.py class Plugin (line 8) | class Plugin(object): method __init__ (line 10) | def __init__(self, context): method connected (line 15) | def connected(self, **kw): method join (line 19) | async def join(self, mask=None, **kw): method on_ctcp (line 27) | async def on_ctcp(self, mask=None, **kwargs): function main (line 41) | def main(): FILE: examples/freenode_irc3.py class FeedsHook (line 6) | class FeedsHook(object): method __init__ (line 9) | def __init__(self, bot): method filter_travis (line 17) | def filter_travis(self, entry): method filter_pypi (line 36) | def filter_pypi(self, entry): method __call__ (line 42) | def __call__(self, entries): function auto_retweet (line 57) | def auto_retweet(bot): function test_cron (line 86) | def test_cron(bot): function test_cron_raise (line 91) | def test_cron_raise(bot): FILE: examples/humans.py function greetings (line 7) | def greetings(bot, mask=None, channel=None, **kw): function main (line 12) | def main(): FILE: examples/mybot.py class MyPlugin (line 7) | class MyPlugin: method __init__ (line 18) | def __init__(self, bot): method connection_made (line 22) | def connection_made(self): method server_ready (line 25) | def server_ready(self): method connection_lost (line 28) | def connection_lost(self): method welcome (line 32) | def welcome(self, mask, channel, **kw): method echo (line 42) | def echo(self, mask, target, args): method stats (line 50) | def stats(self, mask, target, args): method my_usefull_method (line 68) | def my_usefull_method(self): function main (line 76) | def main(): FILE: examples/mybot_plugin.py class Plugin (line 7) | class Plugin: method __init__ (line 9) | def __init__(self, bot): method say_hi (line 13) | def say_hi(self, mask, channel, **kw): method echo (line 21) | def echo(self, mask, target, args): FILE: examples/mycommands.py function echo (line 6) | def echo(bot, mask, target, args): function adduser (line 15) | def adduser(bot, mask, target, args): function my_secret_operation (line 24) | def my_secret_operation(bot, mask, target, args): FILE: examples/mycrons.py function wakeup (line 6) | def wakeup(bot): function take_a_break (line 11) | def take_a_break(bot): FILE: examples/myextends.py function my_usefull_function (line 6) | def my_usefull_function(bot, *args): class MyPlugin (line 11) | class MyPlugin(object): method __init__ (line 13) | def __init__(self, bot): method my_usefull_method (line 17) | def my_usefull_method(self, *args): FILE: examples/nickserv.py function register (line 7) | def register(bot, ns=None, nick=None, **kw): FILE: examples/paginate.py class SendFile (line 8) | class SendFile(object): method __init__ (line 15) | def __init__(self, bot): method cat (line 19) | def cat(self, mask, target, args): method url (line 29) | def url(self, mask, target, args): FILE: examples/proxy.py function sock_factory (line 6) | def sock_factory(bot, host, port): function main (line 13) | def main(): FILE: examples/spy.py class Plugin (line 6) | class Plugin(object): method __init__ (line 10) | def __init__(self, context): method connected (line 16) | def connected(self, **kw): method on_privmsg (line 27) | def on_privmsg(self, mask=None, data=None, **kw): FILE: examples/topic.py class TopicPlugin (line 8) | class TopicPlugin: method __init__ (line 12) | def __init__(self, bot): method get_topic (line 17) | def get_topic(self, channel=None, data=None, **kwargs): method cron_topic (line 22) | async def cron_topic(self): method topic (line 28) | def topic(self, mask, target, args): method aiotopic (line 37) | async def aiotopic(self, mask, target, args): FILE: examples/wsgiapp.py class Webapp (line 9) | class Webapp: method __init__ (line 13) | def __init__(self, bot): method wsgi (line 22) | def wsgi(self, environ, start_response): FILE: irc3/__init__.py class IrcConnection (line 21) | class IrcConnection(asyncio.Protocol): method connection_made (line 24) | def connection_made(self, transport): method decode (line 29) | def decode(self, data): method data_received (line 34) | def data_received(self, data): method write (line 43) | def write(self, data): method connection_lost (line 50) | def connection_lost(self, exc): method close (line 61) | def close(self): class IrcBot (line 71) | class IrcBot(base.IrcObject): method __init__ (line 114) | def __init__(self, *ini, **config): method server_config (line 146) | def server_config(self): method connection_made (line 157) | def connection_made(self, f): # pragma: no cover method send_line (line 180) | def send_line(self, data, nowait=False): method process_queue (line 191) | async def process_queue(self): method send (line 217) | def send(self, data): method _send (line 221) | def _send(self, data): method privmsg (line 225) | def privmsg(self, target, message, nowait=False): method action (line 246) | def action(self, target, message, nowait=False): method notice (line 250) | def notice(self, target, message, nowait=False): method ctcp (line 271) | def ctcp(self, target, message, nowait=False): method ctcp_reply (line 286) | def ctcp_reply(self, target, message, nowait=False): method mode (line 300) | def mode(self, target, *data): method join (line 304) | def join(self, target): method part (line 312) | def part(self, target, reason=None): method kick (line 318) | def kick(self, channel, target, reason=None): method invite (line 324) | def invite(self, target, channel): method topic (line 328) | def topic(self, channel, topic=None): method away (line 334) | def away(self, message=None): method unaway (line 341) | def unaway(self): method quit (line 345) | def quit(self, reason=None): method get_nick (line 353) | def get_nick(self): method set_nick (line 356) | def set_nick(self, nick): method ip (line 362) | def ip(self): method dcc (line 380) | def dcc(self): method dcc_chat (line 386) | async def dcc_chat(self, mask, host=None, port=None): method dcc_get (line 394) | async def dcc_get(self, mask, host, port, filepath, filesize=None): method dcc_send (line 403) | async def dcc_send(self, mask, filepath): method dcc_accept (line 410) | async def dcc_accept(self, mask, filepath, port, pos): method SIGHUP (line 416) | def SIGHUP(self): method SIGINT (line 419) | def SIGINT(self): function run (line 427) | def run(argv=None): FILE: irc3/_gen_doc.py function render_attrs (line 7) | def render_attrs(title, attrs, out): function main (line 48) | def main(): FILE: irc3/_parse_rfc.py function main (line 10) | def main(): FILE: irc3/_rfc.py class retcode (line 1) | class retcode(int): FILE: irc3/asynchronous.py class event (line 6) | class event: method __init__ (line 11) | def __init__(self, **kwargs): method compile (line 24) | def compile(self, *args, **kwargs): method __repr__ (line 27) | def __repr__(self): method __call__ (line 32) | def __call__(self, callback): function default_result_processor (line 39) | def default_result_processor(self, results=None, **value): # pragma: no... function async_events (line 46) | def async_events(context, events, send_line=None, class AsyncEvents (line 95) | class AsyncEvents: method __init__ (line 102) | def __init__(self, context): method process_results (line 105) | def process_results(self, results=None, **value): # pragma: no cover method __call__ (line 112) | def __call__(self, **kwargs): FILE: irc3/base.py class Registry (line 19) | class Registry: method __init__ (line 22) | def __init__(self): method reset (line 25) | def reset(self, reloading=True): method get_event_matches (line 46) | def get_event_matches(self, data, iotype='in'): class IrcObject (line 54) | class IrcObject: method __init__ (line 74) | def __init__(self, *ini, **config): method get_plugin (line 107) | def get_plugin(self, ob): method recompile (line 134) | def recompile(self): method attach_events (line 142) | def attach_events(self, *events, **kwargs): method detach_events (line 159) | def detach_events(self, *events): method include (line 181) | def include(self, *modules, **kwargs): method reload (line 211) | def reload(self, *modules): method notify (line 245) | def notify(self, event, exc=None, client=None): method dispatch (line 254) | def dispatch(self, data, iotype='in', client=None): method call_many (line 276) | def call_many(self, callback, args): method get_ssl_context (line 285) | def get_ssl_context(self): method create_connection (line 307) | def create_connection(self): method add_signal_handlers (line 336) | def add_signal_handlers(self): method run (line 349) | def run(self, forever=True): method from_config (line 357) | def from_config(cls, cfg, **kwargs): method from_argv (line 379) | def from_argv(cls, argv=None, **kwargs): FILE: irc3/compat.py function __sleep (line 20) | def __sleep(*args, **kwargs): function __wait (line 26) | def __wait(*args, **kwargs): class Queue (line 35) | class Queue(BaseQueue): method __init__ (line 36) | def __init__(self, *args, **kwargs): FILE: irc3/config.py function get_file_config (line 84) | def get_file_config(logdir='~/.irc3/logs'): FILE: irc3/dcc/client.py class DCCBase (line 9) | class DCCBase(asyncio.Protocol): method __init__ (line 15) | def __init__(self, **kwargs): method factory (line 23) | def factory(self): method connection_made (line 26) | def connection_made(self, transport): method connection_lost (line 30) | def connection_lost(self, exc): method close (line 33) | def close(self, result=None): method set_timeout (line 46) | def set_timeout(self): method idle_timeout_reached (line 53) | def idle_timeout_reached(self, *args): method __str__ (line 59) | def __str__(self): method __repr__ (line 62) | def __repr__(self): class DCCChat (line 66) | class DCCChat(DCCBase): method connection_made (line 72) | def connection_made(self, transport): method decode (line 78) | def decode(self, data): method data_received (line 82) | def data_received(self, data): method write (line 93) | def write(self, data): method send_line (line 100) | def send_line(self, message): method send (line 104) | def send(self, *messages): method action (line 108) | def action(self, message): method actions (line 112) | def actions(self, *messages): class DCCGet (line 117) | class DCCGet(DCCBase): method connection_made (line 122) | def connection_made(self, transport): method data_received (line 130) | def data_received(self, data): method close (line 136) | def close(self, *args, **kwargs): class DCCSend (line 143) | class DCCSend(DCCBase): method connection_made (line 152) | def connection_made(self, transport): method write (line 173) | def write(self, *args): # pragma: no cover method send_chunk (line 176) | def send_chunk(self): method next_chunk (line 181) | def next_chunk(self): method data_received (line 198) | def data_received(self, data): method close (line 207) | def close(self, *args, **kwargs): FILE: irc3/dcc/manager.py class DCCManager (line 14) | class DCCManager: method __init__ (line 17) | def __init__(self, bot): method created (line 40) | def created(self, protocol, future): method create (line 59) | def create(self, name_or_class, mask, filepath=None, **kwargs): method resume (line 106) | def resume(self, mask, filename, port, pos): method is_allowed (line 112) | def is_allowed(self, name_or_class, mask): # pragma: no cover FILE: irc3/dec.py function plugin (line 8) | def plugin(wrapped): class event (line 15) | class event: method __init__ (line 39) | def __init__(self, regexp, callback=None, iotype='in', method async_callback (line 57) | def async_callback(self, kwargs): # pragma: no cover method compile (line 60) | def compile(self, config): method __call__ (line 66) | def __call__(self, func): method __repr__ (line 83) | def __repr__(self): function dcc_event (line 89) | def dcc_event(regexp, callback=None, iotype='in', function extend (line 96) | def extend(func): FILE: irc3/plugins/asynchronious.py class Whois (line 67) | class Whois(AsyncEvents): method process_results (line 94) | def process_results(self, results=None, **value): class WhoChannel (line 105) | class WhoChannel(AsyncEvents): method process_results (line 118) | def process_results(self, results=None, **value): class WhoChannelFlags (line 132) | class WhoChannelFlags(AsyncEvents): method process_results (line 151) | def process_results(self, results=None, **value): class WhoNick (line 166) | class WhoNick(AsyncEvents): method process_results (line 178) | def process_results(self, results=None, **value): class IsOn (line 188) | class IsOn(AsyncEvents): method process_results (line 195) | def process_results(self, results=None, **value): class Topic (line 203) | class Topic(AsyncEvents): method process_results (line 213) | def process_results(self, results=None, **value): class Names (line 223) | class Names(AsyncEvents): method process_results (line 234) | def process_results(self, results=None, **value): class ChannelBans (line 243) | class ChannelBans(AsyncEvents): method process_results (line 255) | def process_results(self, results=None, **value): class CTCP (line 267) | class CTCP(AsyncEvents): method process_results (line 279) | def process_results(self, results=None, **value): class Async (line 290) | class Async: method __init__ (line 296) | def __init__(self, context): method async_who_channel_flags (line 308) | def async_who_channel_flags(self, channel, flags, timeout): method whois (line 330) | def whois(self, nick, timeout=20): method who (line 340) | def who(self, target, flags=None, timeout=20): method topic (line 361) | def topic(self, channel, topic=None, timeout=20): method ison (line 369) | def ison(self, *nicknames, **kwargs): method names (line 383) | def names(self, channel, timeout=20): method channel_bans (line 393) | def channel_bans(self, channel, timeout=20): method ctcp_async (line 402) | def ctcp_async(self, nick, ctcp, timeout=20): FILE: irc3/plugins/autocommand.py class SimpleCommand (line 53) | class SimpleCommand: method __init__ (line 55) | def __init__(self, cmd): method execute (line 58) | async def execute(self, bot): class SleepCommand (line 63) | class SleepCommand: method __init__ (line 68) | def __init__(self, time): method is_match (line 75) | def is_match(cls, test_str): method parse (line 79) | def parse(cls, cmd_str): method execute (line 91) | async def execute(self, bot): class AutoCommand (line 96) | class AutoCommand: method __init__ (line 102) | def __init__(self, bot): method parse_command (line 108) | def parse_command(command): method server_ready (line 120) | def server_ready(self): method execute_commands (line 123) | async def execute_commands(self): FILE: irc3/plugins/autojoins.py class AutoJoins (line 23) | class AutoJoins: method __init__ (line 29) | def __init__(self, bot): method reload (line 42) | def reload(cls, old): method before_reload (line 62) | def before_reload(self): # pragma: no cover method stop_tasks (line 65) | def stop_tasks(self): # pragma: no cover method connection_lost (line 74) | def connection_lost(self): # pragma: no cover method server_ready (line 77) | def server_ready(self): method join (line 84) | def join(self, channel=None): method part (line 100) | def part(self, channel): method on_kick (line 108) | def on_kick(self, mask, channel, target, **kwargs): method on_err_join (line 118) | def on_err_join(self, channel, **kwargs): FILE: irc3/plugins/casefold.py class Casefold (line 40) | class Casefold: method __init__ (line 42) | def __init__(self, bot): method recalculate_casemaps (line 49) | def recalculate_casemaps(self): method casefold (line 70) | def casefold(self, in_str): FILE: irc3/plugins/command.py class free_policy (line 168) | class free_policy: method __init__ (line 170) | def __init__(self, bot): method __call__ (line 173) | def __call__(self, predicates, meth, client, target, args, **kwargs): class mask_based_policy (line 177) | class mask_based_policy: method __init__ (line 182) | def __init__(self, bot): method masks (line 188) | def masks(self): method has_permission (line 201) | def has_permission(self, mask, permission): method __call__ (line 213) | def __call__(self, predicates, meth, client, target, args, **kwargs): function attach_command (line 222) | def attach_command(func, depth=2, **predicates): function command (line 251) | def command(*func, **predicates): class Commands (line 264) | class Commands(dict): method __init__ (line 274) | def __init__(self, context): method split_command (line 302) | def split_command(self, data, use_shlex=None): method on_command (line 309) | def on_command(self, cmd, mask=None, target=None, client=None, **kw): method do_command (line 322) | def do_command(self, predicates, meth, client, target, data=None, **kw): method command_callback (line 387) | def command_callback(self, uid, to, msgs): method help (line 401) | def help(self, mask, target, args): method __repr__ (line 457) | def __repr__(self): class Done (line 461) | class Done: method done (line 463) | def done(self): function ping (line 468) | def ping(bot, mask, target, args): function quote (line 477) | def quote(bot, mask, target, args): function reconnect (line 488) | def reconnect(bot, mask, target, args): function print_help_page (line 498) | def print_help_page(bot, file=sys.stdout): FILE: irc3/plugins/core.py class Core (line 24) | class Core: method __init__ (line 26) | def __init__(self, bot): method connection_made (line 39) | def connection_made(self, client=None): method connected (line 50) | def connected(self, **kwargs): method reconnect (line 64) | def reconnect(self): # pragma: no cover method pong (line 74) | def pong(self, event='PONG', data='', **kw): # pragma: no cover method ping (line 88) | def ping(self, data): method recompile (line 94) | def recompile(self, nick=None, new_nick=None, **kw): method badnick (line 101) | def badnick(self, me=None, nick=None, **kw): method set_config (line 109) | def set_config(self, data=None, **kwargs): FILE: irc3/plugins/cron.py class Crons (line 34) | class Crons(list): method __init__ (line 36) | def __init__(self, context): method connection_made (line 43) | def connection_made(self): method before_reload (line 47) | def before_reload(self): method after_reload (line 51) | def after_reload(self): method add_cron (line 55) | def add_cron(self, cronline, callback, uuid=None): method remove_cron (line 64) | def remove_cron(self, cron=None): method start (line 68) | def start(self): method stop (line 73) | def stop(self): method __repr__ (line 79) | def __repr__(self): function cron (line 83) | def cron(cronline, venusian_category='irc3.plugins.cron'): FILE: irc3/plugins/ctcp.py class CTCP (line 36) | class CTCP: method __init__ (line 39) | def __init__(self, bot): method clear_queue (line 47) | def clear_queue(self): method handle_flood (line 53) | def handle_flood(self): method on_ctcp (line 60) | def on_ctcp(self, mask=None, target=None, ctcp=None, **kw): FILE: irc3/plugins/dcc.py function dcc_command (line 39) | def dcc_command(*func, **predicates): class Commands (line 54) | class Commands(command.Commands): method on_command (line 61) | def on_command(self, cmd, client=None, **kw): method help (line 67) | def help(self, *args): method chat (line 75) | def chat(self, mask, *args): FILE: irc3/plugins/feeds.py function default_hook (line 73) | def default_hook(entries): function default_dispatcher (line 78) | def default_dispatcher(bot): # pragma: no cover function fetch (line 85) | def fetch(args): function parse (line 103) | def parse(feedparser, args): class Feeds (line 146) | class Feeds: method __init__ (line 151) | def __init__(self, bot): method connection_made (line 208) | def connection_made(self): method imports (line 212) | def imports(self): method parse (line 228) | def parse(self, *args): method update_time (line 245) | def update_time(self, future): method update (line 251) | def update(self): FILE: irc3/plugins/fifo.py class Fifo (line 50) | class Fifo: method __init__ (line 55) | def __init__(self, context): method read_fd (line 70) | def read_fd(cls, fd): # pragma: no cover method handle_line (line 81) | def handle_line(self, line, channel): method data_received (line 94) | def data_received(self, data, channel): method watch_fd (line 117) | def watch_fd(self, fd, channel): method create_fifo (line 125) | def create_fifo(self, channel): method join (line 149) | def join(self, mask=None, channel=None, **kwargs): FILE: irc3/plugins/human.py class Human (line 42) | class Human: method __init__ (line 48) | def __init__(self, bot): method initialize (line 60) | def initialize(self, amount): # pragma: no cover method on_message (line 77) | def on_message(self, mask=None, event=None, target=None, data=None, **... method call_with_human_delay (line 98) | def call_with_human_delay(self, func, *args, **kwargs): FILE: irc3/plugins/log.py class RawLog (line 22) | class RawLog: method __init__ (line 24) | def __init__(self, context): method debug_input (line 35) | def debug_input(self, raw=None, client=None, iotype='in', **kwargs): method debug_output (line 43) | def debug_output(self, raw=None, client=None, iotype='out', **kwargs): method log (line 46) | def log(self, raw, client=None, iotype=None): FILE: irc3/plugins/logger.py class file_handler (line 33) | class file_handler: method __init__ (line 45) | def __init__(self, bot): method __call__ (line 57) | def __call__(self, event): class Logger (line 70) | class Logger: method __init__ (line 74) | def __init__(self, bot): method process (line 82) | def process(self, **kwargs): method on_input (line 89) | def on_input(self, mask, event, target=None, data=None, **kwargs): method on_output (line 96) | def on_output(self, event, target=None, data=None, **kwargs): method on_quit (line 102) | def on_quit(self, mask, event, channel=None, data=None, **kwargs): method on_topic (line 113) | def on_topic(self, srv=None, **kwargs): FILE: irc3/plugins/pager.py class Page (line 24) | class Page: method __init__ (line 26) | def __init__(self, mask, iterator, first_page=4, lines_per_page=10): method get (line 35) | def get(self): method close (line 54) | def close(self): class Paginate (line 62) | class Paginate: method __init__ (line 67) | def __init__(self, context): method clean_old_pages (line 73) | async def clean_old_pages(self): # pragma: no cover method paginate (line 87) | def paginate(self, mask, iterator, first_page=None, lines_per_page=10): method more (line 99) | def more(self, mask, target, args): FILE: irc3/plugins/quakenet.py function get_digest (line 43) | def get_digest(digest): function challenge_auth (line 54) | def challenge_auth(username, password, challenge, lower, digest='sha256'): class QuakeNet (line 76) | class QuakeNet(object): method __init__ (line 83) | def __init__(self, bot): method server_ready (line 93) | def server_ready(self): method auth (line 96) | def auth(self): method after_auth (line 108) | def after_auth(self): method get_challenge (line 113) | def get_challenge(self, nick, challenge, **kwargs): FILE: irc3/plugins/sasl.py class Sasl (line 29) | class Sasl: method __init__ (line 31) | def __init__(self, bot): method connection_ready (line 41) | def connection_ready(self, *args, **kwargs): method cap_ls (line 45) | def cap_ls(self, data=None, **kwargs): method cap_ack (line 51) | def cap_ack(self, **kwargs): method authenticate (line 54) | def authenticate(self, **kwargs): method cap_end (line 62) | def cap_end(self, **kwargs): FILE: irc3/plugins/search.py class Search (line 14) | class Search: method __init__ (line 26) | def __init__(self, bot): method ddg (line 36) | def ddg(self, mask, target, args): FILE: irc3/plugins/shell_command.py class Shell (line 69) | class Shell: method __init__ (line 73) | def __init__(self, context): method register_command (line 92) | def register_command(self, k, v, skey=None): method shell_command (line 108) | async def shell_command(self, command, mask, target, args, **kwargs): FILE: irc3/plugins/slack.py class Slack (line 107) | class Slack: method __init__ (line 109) | def __init__(self, bot): method get_channel_by_id (line 150) | def get_channel_by_id(self, matchobj): method get_user_by_id (line 162) | def get_user_by_id(self, matchobj): method get_emoji (line 174) | def get_emoji(self, matchobj): method clean_channels (line 178) | def clean_channels(self): method api_call (line 182) | async def api_call(self, method, data=None): method server_ready (line 202) | def server_ready(self): method start (line 205) | async def start(self): method notify_restart (line 220) | async def notify_restart(self): method parse_text (line 235) | async def parse_text(self, message): method ping (line 242) | async def ping(self): method producer (line 259) | async def producer(self, put): method consumer (line 273) | async def consumer(self, get): method _handle_default (line 308) | async def _handle_default(self, msg): method _handle_me_message (line 318) | async def _handle_me_message(self, msg): method on_message (line 332) | async def on_message(self, target=None, nick=None, data=None, **kwargs): FILE: irc3/plugins/social.py class TwitterAdapter (line 35) | class TwitterAdapter: method __init__ (line 37) | def __init__(self, bot, conn): method __getattr__ (line 42) | def __getattr__(self, attr): method format (line 45) | def format(self, item): method __call__ (line 49) | def __call__(self, meth, *args, **kwargs): method __repr__ (line 74) | def __repr__(self): class Social (line 79) | class Social: method __init__ (line 109) | def __init__(self, bot): method twitter_factory (line 119) | def twitter_factory(self, name, config): method get_social_connection (line 136) | def get_social_connection(self, id=None): method tweet (line 148) | def tweet(self, mask, target, args): method send_tweet (line 163) | def send_tweet(self, message, id=None): method retweet (line 180) | def retweet(self, mask, target, args): method search_tweets (line 204) | def search_tweets(self, q=None, **kwargs): FILE: irc3/plugins/storage.py class Shelve (line 182) | class Shelve: method __init__ (line 184) | def __init__(self, uri=None, **kwargs): method set (line 188) | def set(self, key, value): method get (line 192) | def get(self, key): method delete (line 195) | def delete(self, key): method contains (line 199) | def contains(self, key): method sync (line 202) | def sync(self): method close (line 205) | def close(self): class JSON (line 209) | class JSON: method __init__ (line 211) | def __init__(self, uri=None, **kwargs): method set (line 219) | def set(self, key, value): method get (line 223) | def get(self, key): method delete (line 226) | def delete(self, key): method contains (line 230) | def contains(self, key): method sync (line 233) | def sync(self): method close (line 237) | def close(self): class Redis (line 241) | class Redis: method __init__ (line 243) | def __init__(self, uri=None, **kwargs): method set (line 250) | def set(self, key, value): method get (line 253) | def get(self, key): method delete (line 263) | def delete(self, key): method contains (line 266) | def contains(self, key): method flushdb (line 269) | def flushdb(self): method sync (line 272) | def sync(self): method close (line 275) | def close(self): class SQLite (line 279) | class SQLite: method __init__ (line 293) | def __init__(self, uri=None, **kwargs): method set (line 302) | def set(self, key, value): method get (line 310) | def get(self, key): method delete (line 324) | def delete(self, key): method contains (line 332) | def contains(self, key): method flushdb (line 343) | def flushdb(self): method sync (line 352) | def sync(self): method close (line 355) | def close(self): class Storage (line 360) | class Storage: method __init__ (line 371) | def __init__(self, context): method connection_ready (line 382) | async def connection_ready(self): method setdefault (line 387) | def setdefault(self, key_, **kwargs): method get (line 402) | def get(self, key_, default=None): method getlist (line 409) | def getlist(self, key_, default=None): method set (line 418) | def set(self, key_, **kwargs): method setlist (line 429) | def setlist(self, key_, value): method __setitem__ (line 436) | def __setitem__(self, key, value): method __getitem__ (line 447) | def __getitem__(self, key): method __delitem__ (line 458) | def __delitem__(self, key): method __contains__ (line 467) | def __contains__(self, key): method SIGINT (line 476) | def SIGINT(self): FILE: irc3/plugins/uptime.py class Uptime (line 19) | class Uptime: method __init__ (line 25) | def __init__(self, bot): method connection_made (line 36) | def connection_made(self): method delta (line 39) | def delta(self, value): method uptime (line 48) | def uptime(self, mask, target, args): FILE: irc3/plugins/userlist.py class Channel (line 42) | class Channel(set): method __init__ (line 61) | def __init__(self): method add (line 66) | def add(self, item, modes=''): method remove (line 71) | def remove(self, item): method __repr__ (line 80) | def __repr__(self): class Userlist (line 85) | class Userlist: method __init__ (line 87) | def __init__(self, context): method connection_lost (line 91) | def connection_lost(self, client=None): method broadcast (line 97) | def broadcast(self, *args, **kwargs): method on_join_part_quit (line 102) | def on_join_part_quit(self, mask=None, event=None, **kwargs): method on_kick (line 106) | def on_kick(self, mask=None, event=None, target=None, **kwargs): method join (line 109) | def join(self, nick, mask, client=None, **kwargs): method part (line 117) | def part(self, nick, mask=None, channel=None, client=None, **kwargs): method quit (line 128) | def quit(self, nick, mask, channel=None, client=None, **kwargs): method new_nick (line 141) | def new_nick(self, nick=None, new_nick=None, client=None, **kwargs): method names (line 159) | def names(self, channel=None, data=None, **kwargs): method who (line 170) | def who(self, channel=None, nick=None, username=None, server=None, **kw): method mode (line 177) | def mode(self, target=None, modes=None, data=None, client=None, **kw): method topic (line 208) | def topic(self, channel=None, data=None, client=None, **kwargs): FILE: irc3/plugins/web.py class Web (line 42) | class Web: method __init__ (line 44) | def __init__(self, context): method server_ready (line 55) | def server_ready(self): method join (line 66) | def join(self, mask=None, channel=None, **kwargs): method handler (line 72) | async def handler(self, req): FILE: irc3/rfc.py function _extract_params (line 8) | def _extract_params(regexp): class raw (line 17) | class raw(str): method new (line 24) | def new(cls, name, regexp, regexp_out=None): FILE: irc3/tags.py function _unescape (line 41) | def _unescape(string): function _escape (line 47) | def _escape(string): function encode (line 53) | def encode(tags): function decode (line 87) | def decode(tagstring): FILE: irc3/template/__init__.py function get_template (line 11) | def get_template(filename, **kwargs): function main (line 18) | def main(nick=None, user=None, dest=None): FILE: irc3/template/plugin.py class Plugin (line 7) | class Plugin: method __init__ (line 9) | def __init__(self, bot): method say_hi (line 13) | def say_hi(self, mask, channel, **kw): method echo (line 21) | def echo(self, mask, target, args): FILE: irc3/testing.py function ini2config (line 32) | def ini2config(data, type='bot', env=None): function call_later (line 43) | def call_later(i, func, *args): function call_soon (line 49) | def call_soon(func, *args): class IrcBot (line 54) | class IrcBot(irc3.IrcBot): method __init__ (line 56) | def __init__(self, **config): method check_required (line 75) | def check_required(self): # pragma: no cover method test (line 84) | def test(self, data, show=True): method sent (line 91) | def sent(self): class IrcTestCase (line 97) | class IrcTestCase(TestCase): method patch_requests (line 101) | def patch_requests(self, **kwargs): method patch_asyncio (line 123) | def patch_asyncio(self): class BotTestCase (line 132) | class BotTestCase(IrcTestCase): method callFTU (line 136) | def callFTU(self, **config): method assertSent (line 142) | def assertSent(self, lines): method assertNothingSent (line 154) | def assertNothingSent(self): method reset_mock (line 159) | def reset_mock(self): class IrcClient (line 164) | class IrcClient(irc3d.IrcClient): method __init__ (line 166) | def __init__(self): method dispatch (line 169) | def dispatch(self, data): method write (line 173) | def write(self, data): method reset (line 177) | def reset(self, data=False): class IrcServer (line 183) | class IrcServer(irc3d.IrcServer): method __init__ (line 185) | def __init__(self, **config): method add_clients (line 196) | def add_clients(self, amount=2): class ServerTestCase (line 210) | class ServerTestCase(IrcTestCase): method callFTU (line 215) | def callFTU(self, clients=2, **config): method assertSent (line 222) | def assertSent(self, client, data, origin=None): method assertNotSent (line 227) | def assertNotSent(self, client, data, origin=None): FILE: irc3/utils.py function slugify (line 13) | def slugify(value): class IrcString (line 24) | class IrcString(str): method nick (line 28) | def nick(self): method lnick (line 48) | def lnick(self): method host (line 61) | def host(self): method username (line 66) | def username(self): method hostname (line 82) | def hostname(self): method is_user (line 98) | def is_user(self): method is_channel (line 102) | def is_channel(self): method is_server (line 115) | def is_server(self): method is_nick (line 128) | def is_nick(self): method tagdict (line 139) | def tagdict(self): function split_message (line 161) | def split_message(message, max_bytes, encoding, prefix=''): class Config (line 216) | class Config(dict): method __getattr__ (line 226) | def __getattr__(self, attr): function parse_config_env (line 230) | def parse_config_env(env=None): function parse_config (line 261) | def parse_config(main_section, *filenames, **kwargs): function extract_config (line 307) | def extract_config(config, prefix): function as_list (line 318) | def as_list(value): function as_channel (line 343) | def as_channel(value): function parse_modes (line 360) | def parse_modes(modes, targets=None, noargs=''): function wraps_with_context (line 382) | def wraps_with_context(func, context): function maybedotted (line 393) | def maybedotted(name): class Handler (line 431) | class Handler(logging.Handler): method __init__ (line 433) | def __init__(self, bot, *targets): method yield_records (line 438) | def yield_records(self, record): method emit (line 443) | def emit(self, record): class Logger (line 447) | class Logger(logging.getLoggerClass()): method set_irc_targets (line 450) | def set_irc_targets(self, bot, *targets): FILE: irc3d/__init__.py class IrcClient (line 17) | class IrcClient(asyncio.Protocol): method connection_made (line 20) | def connection_made(self, transport): method __getattr__ (line 37) | def __getattr__(self, attr): method get_nick (line 40) | def get_nick(self): method set_nick (line 43) | def set_nick(self, nick): method registered (line 51) | def registered(self): method decode (line 54) | def decode(self, data): # pragma: no cover method data_received (line 59) | def data_received(self, data): # pragma: no cover method fwrite (line 69) | def fwrite(self, messages, **kwargs): method write (line 77) | def write(self, data): method connection_lost (line 85) | def connection_lost(self, exc): method close (line 95) | def close(self): # pragma: no cover method __str__ (line 104) | def __str__(self): class IrcServer (line 113) | class IrcServer(base.IrcObject): method __init__ (line 153) | def __init__(self, *args, **kwargs): method connection_made (line 157) | def connection_made(self, f): # pragma: no cover method notice (line 168) | def notice(self, client, message): method SIGHUP (line 181) | def SIGHUP(self, *args): # pragma: no cover method SIGINT (line 184) | def SIGINT(self, *args): # pragma: no cover function run (line 188) | def run(argv=None): FILE: irc3d/__main__.py function main (line 6) | def main(): # pragma: no cover FILE: irc3d/dec.py function plugin (line 7) | def plugin(wrapped): class event (line 14) | class event(dec.event): method __init__ (line 17) | def __init__(self, regexp, *args, **kwargs): function extend (line 23) | def extend(func): FILE: irc3d/plugins/command.py class server_policy (line 16) | class server_policy: method __init__ (line 18) | def __init__(self, context): method check_oper_credentials (line 22) | def check_oper_credentials(self, user, password): method __call__ (line 26) | def __call__(self, predicates, meth, client, target, args, **kwargs): function command (line 36) | def command(*func, **predicates): class ServerCommands (line 52) | class ServerCommands(Commands): method on_command (line 59) | def on_command(self, cmd, mask=None, target=None, client=None, **kw): method OPER (line 68) | def OPER(self, client=None, args=None, **kwargs): method HELP (line 89) | def HELP(self, client=None, args=None, **kwargs): FILE: irc3d/plugins/core.py class Core (line 27) | class Core: method __init__ (line 34) | def __init__(self, context): method USER (line 38) | def USER(self, client, args=None): method register (line 51) | def register(self, client, **kwargs): method VERSION (line 64) | def VERSION(self, client, args=None): method MOTD (line 72) | def MOTD(self, client, args=None): method PING (line 92) | def PING(self, client, args): method DIE (line 100) | def DIE(self, client=None, args=None, **kwargs): method WALLOPS (line 109) | def WALLOPS(self, client=None, args=None, **kwargs): method AWAY (line 120) | def AWAY(self, client, args): FILE: irc3d/plugins/userlist.py class ServerUserlist (line 24) | class ServerUserlist(userlist.Userlist): method connection_made (line 26) | def connection_made(self, client=None): method connection_lost (line 29) | def connection_lost(self, client=None): method get_client (line 37) | def get_client(self, nick_or_client): method broadcast (line 43) | def broadcast(self, client=None, clients=None, **kwargs): method ISON (line 52) | def ISON(self, client, args=None, **kwargs): method JOIN (line 63) | def JOIN(self, client, args=None, **kwargs): method PART (line 88) | def PART(self, client, args=None, **kwargs): method QUIT (line 111) | def QUIT(self, client, args=None, **kwargs): method KICK (line 129) | def KICK(self, client, args=None, **kwargs): method NICK (line 153) | def NICK(self, client, args=None, **kwargs): method PRIVMSG (line 180) | def PRIVMSG(self, client=None, args=None, event='PRIVMSG', **kwargs): method NOTICE (line 219) | def NOTICE(self, client=None, args=None, event='PRIVMSG', **kwargs): method mode (line 239) | def mode(self, target=None, **kw): method UMODE_i (line 267) | def UMODE_i(self, client, target, char, mode): method UMODE_w (line 271) | def UMODE_w(self, client, target, char, mode): method NAMES (line 275) | def NAMES(self, client=None, args=None, **kwargs): method WHOIS (line 298) | def WHOIS(self, client=None, args=None, **kwargs): FILE: tests/test_async.py function test_whois_fail (line 6) | async def test_whois_fail(irc3_bot_factory): function test_whois_success (line 18) | async def test_whois_success(irc3_bot_factory): function test_whois_timeout (line 38) | async def test_whois_timeout(irc3_bot_factory): function test_who_channel (line 48) | async def test_who_channel(irc3_bot_factory): function test_who_channel_flags (line 64) | async def test_who_channel_flags(irc3_bot_factory): function test_who_nick (line 96) | async def test_who_nick(irc3_bot_factory): function test_topic (line 110) | async def test_topic(irc3_bot_factory): function test_no_topic (line 122) | async def test_no_topic(irc3_bot_factory): function test_ison (line 134) | async def test_ison(irc3_bot_factory): function test_names (line 146) | async def test_names(irc3_bot_factory): function test_channel_bans (line 163) | async def test_channel_bans(irc3_bot_factory): function test_ctcp (line 179) | async def test_ctcp(irc3_bot_factory): FILE: tests/test_autocommand.py function mock (line 6) | async def mock(*args, **kwargs): class TestAutoCommand (line 10) | class TestAutoCommand(BotTestCase): method test_autocommand (line 14) | def test_autocommand(self): method test_autocommand_validation (line 30) | def test_autocommand_validation(self): FILE: tests/test_autojoins.py class TestAutojoin (line 6) | class TestAutojoin(BotTestCase): method test_autojoin_without_diese (line 8) | def test_autojoin_without_diese(self): method test_nomotd_events_removed (line 18) | def test_nomotd_events_removed(self): method test_autojoin_nomotd (line 28) | def test_autojoin_nomotd(self): method test_autojoin (line 35) | def test_autojoin(self): method test_autojoin_delay (line 66) | def test_autojoin_delay(self): method test_autojoin_reload (line 73) | def test_autojoin_reload(self): FILE: tests/test_bot.py class TestBot (line 8) | class TestBot(BotTestCase): method test_config (line 10) | def test_config(self): method test_include_twice (line 14) | def test_include_twice(self): method test_plugin (line 19) | def test_plugin(self): method test_join (line 29) | def test_join(self): method test_message (line 34) | def test_message(self): method test_long_message (line 43) | def test_long_message(self): method test_log (line 52) | def test_log(self): method test_logger (line 58) | def test_logger(self): method test_quote (line 75) | def test_quote(self): method test_ctcp (line 84) | def test_ctcp(self): method test_server_config (line 89) | def test_server_config(self): method test_ping (line 98) | def test_ping(self): method test_nick (line 104) | def test_nick(self): method test_mode (line 115) | def test_mode(self): method test_kick (line 120) | def test_kick(self): method test_part (line 127) | def test_part(self): method test_quit (line 134) | def test_quit(self): method test_SIGINT (line 142) | def test_SIGINT(self, sleep): method test_SIGHUP (line 148) | def test_SIGHUP(self): method test_pkg_resources_entry_points (line 152) | def test_pkg_resources_entry_points(self): method test_pkg_resources_entry_points_exception (line 158) | def test_pkg_resources_entry_points_exception(self): FILE: tests/test_casefold.py class TestCasefold (line 5) | class TestCasefold(BotTestCase): method test_ascii (line 9) | def test_ascii(self): method test_rfc1459 (line 19) | def test_rfc1459(self): FILE: tests/test_commands.py function cmd (line 21) | def cmd(bot, *args): function cmd_view (line 29) | def cmd_view(bot, *args): function cmd_arg (line 37) | def cmd_arg(bot, *args): class TestCommands (line 45) | class TestCommands(BotTestCase): method test_async_plugin (line 53) | def test_async_plugin(self): method test_help (line 66) | def test_help(self): method test_help_hides (line 78) | def test_help_hides(self): method test_help_with_url (line 90) | def test_help_with_url(self): method test_print_help (line 101) | def test_print_help(self): method test_command_char (line 111) | def test_command_char(self): method test_command_alias (line 120) | def test_command_alias(self): method test_weird_chars (line 131) | def test_weird_chars(self): method test_command_trailing_space (line 140) | def test_command_trailing_space(self): method test_command_argument_space (line 147) | def test_command_argument_space(self): method test_command_argument_shlex (line 156) | def test_command_argument_shlex(self): method test_command_argument_quiet (line 162) | def test_command_argument_quiet(self): method test_command_argument_quiet_shlex (line 168) | def test_command_argument_quiet_shlex(self): method test_private_command (line 174) | def test_private_command(self): method test_help_command (line 182) | def test_help_command(self): method test_help_command_with_bang (line 187) | def test_help_command_with_bang(self): method test_reconnect_command (line 192) | def test_reconnect_command(self): method test_antiflood (line 203) | def test_antiflood(self): method test_unicode (line 217) | def test_unicode(self): method test_invalid_arguments (line 222) | def test_invalid_arguments(self): method test_invalid_arguments_shlex (line 227) | def test_invalid_arguments_shlex(self): method test_command_case_insensitive (line 233) | def test_command_case_insensitive(self): method test_command_case_sensitive (line 238) | def test_command_case_sensitive(self): method test_permissions (line 243) | def test_permissions(self): FILE: tests/test_cron.py class MyCron (line 9) | class MyCron: method __init__ (line 11) | def __init__(self, bot): method method (line 15) | def method(self): function function (line 20) | async def function(bot): class TestCron (line 24) | class TestCron(BotTestCase): method test_add_remove_cron (line 28) | def test_add_remove_cron(self): method test_connection_made (line 40) | def test_connection_made(self): method test_reload (line 48) | def test_reload(self): method test_callable (line 59) | def test_callable(self): FILE: tests/test_ctcp.py class TestCTCP (line 6) | class TestCTCP(BotTestCase): method test_ctcp (line 12) | def test_ctcp(self): method test_ctcp_flood (line 17) | def test_ctcp_flood(self): FILE: tests/test_dcc.py function get_extra_info (line 17) | def get_extra_info(*args): function log_in (line 22) | def log_in(bot, client=None, data=None): function log_out (line 27) | def log_out(bot, client=None, data=None): function syn (line 32) | def syn(bot, mask, client, args): function chat_ready (line 40) | def chat_ready(client): class TestChat (line 49) | class TestChat(BotTestCase): method callDCCFTU (line 56) | def callDCCFTU(self, *args, **kwargs): method created (line 63) | def created(self): method test_create (line 73) | def test_create(self): class DCCTestCase (line 92) | class DCCTestCase(BotTestCase): method callDCCFTU (line 96) | def callDCCFTU(self, *args, **kwargs): method createFiles (line 104) | def createFiles(self): method assertFileSent (line 112) | def assertFileSent(self): class TestSend (line 123) | class TestSend(DCCTestCase): method created (line 127) | def created(self, f): method test_create (line 134) | def test_create(self): class TestResume (line 147) | class TestResume(DCCTestCase): method created (line 151) | def created(self, f): method test_create (line 164) | def test_create(self): class TestSendWithLimit (line 177) | class TestSendWithLimit(DCCTestCase): method created (line 181) | def created(self, f): method test_create (line 188) | def test_create(self): FILE: tests/test_dec.py class OldStyleClass (line 7) | class OldStyleClass: method __init__ (line 8) | def __init__(self, bot): class NewStyleClass (line 13) | class NewStyleClass: method __init__ (line 14) | def __init__(self, bot): class TestPlugin (line 18) | class TestPlugin(BotTestCase): method test_registration (line 20) | def test_registration(self): FILE: tests/test_events.py function msg1 (line 8) | def msg1(bot, **kwargs): function msg2 (line 13) | def msg2(bot, **kwargs): function msg3 (line 18) | def msg3(bot, target=None, event=None, data=None): class TestEvents (line 23) | class TestEvents(BotTestCase): method test_event (line 25) | def test_event(self): method test_bad_event (line 31) | def test_bad_event(self): method test_not_include_twice (line 34) | def test_not_include_twice(self): method test_out_event (line 41) | def test_out_event(self): method test_async_event (line 50) | def test_async_event(self): FILE: tests/test_feeds.py function hook (line 11) | def hook(entries): class Hook (line 15) | class Hook: method __init__ (line 17) | def __init__(self, bot): method __call__ (line 20) | def __call__(self, entries): class Dispatcher (line 24) | class Dispatcher: method __init__ (line 26) | def __init__(self, bot): method reset (line 30) | def reset(self): method __call__ (line 34) | def __call__(self, messages): class TestFeeds (line 38) | class TestFeeds(BotTestCase): method setUp (line 42) | def setUp(self): method callFTU (line 52) | def callFTU(self, **kwargs): method test_connection_made (line 68) | def test_connection_made(self): method test_feed (line 74) | def test_feed(self): method test_hooked_feed (line 88) | def test_hooked_feed(self): method test_hooked_feed_with_class (line 96) | def test_hooked_feed_with_class(self): FILE: tests/test_fifo.py class TestFifo (line 6) | class TestFifo(BotTestCase): method test_fifo_fake_event_loop (line 13) | def test_fifo_fake_event_loop(self): FILE: tests/test_irc3d.py function echo (line 7) | def echo(self): class TestServer (line 11) | class TestServer(testing.ServerTestCase): method test_mock (line 13) | def test_mock(self): method test_connection_lost (line 18) | def test_connection_lost(self): method test_log (line 23) | def test_log(self): method test_extend (line 28) | def test_extend(self): method test_unknow_command (line 33) | def test_unknow_command(self): method test_server_notice (line 39) | def test_server_notice(self): method test_broadcast (line 44) | def test_broadcast(self): method test_privmsg (line 48) | def test_privmsg(self): method test_motd (line 80) | def test_motd(self): method test_ping (line 89) | def test_ping(self): method test_away (line 94) | def test_away(self): method test_no_away (line 105) | def test_no_away(self): method test_die (line 112) | def test_die(self): FILE: tests/test_irc3d_commands.py class TestCommands (line 5) | class TestCommands(testing.ServerTestCase): method test_not_registered (line 7) | def test_not_registered(self): method test_help (line 14) | def test_help(self): method test_help_cmd (line 27) | def test_help_cmd(self): method test_oper (line 35) | def test_oper(self): FILE: tests/test_irc3d_userlist.py class TestServerUserList (line 6) | class TestServerUserList(testing.ServerTestCase): method test_ison (line 8) | def test_ison(self): method test_whois (line 16) | def test_whois(self): method test_whois_err (line 24) | def test_whois_err(self): method test_user_modes (line 30) | def test_user_modes(self): method test_userlist (line 42) | def test_userlist(self): FILE: tests/test_logger.py class LoggerFileTestCase (line 9) | class LoggerFileTestCase(BotTestCase): method setUp (line 16) | def setUp(self): method test_logger (line 21) | def test_logger(self): FILE: tests/test_paginate.py function to_page (line 7) | def to_page(bot, mask, *args): class TestPager (line 18) | class TestPager(BotTestCase): method test_cmd (line 24) | def test_cmd(self): FILE: tests/test_protocol.py function irc_conn (line 8) | def irc_conn(request): function test_buffer (line 16) | def test_buffer(irc_conn): function test_no_buffer (line 21) | def test_no_buffer(irc_conn): function test_with_buffer (line 27) | def test_with_buffer(irc_conn): function test_write (line 38) | def test_write(irc_conn): FILE: tests/test_quakenet.py class TestQuakenet (line 5) | class TestQuakenet(BotTestCase): method test_challenge (line 12) | def test_challenge(self): method test_simple_auth (line 43) | def test_simple_auth(self): method test_challenge_auth (line 49) | def test_challenge_auth(self): FILE: tests/test_reconn.py class P (line 9) | class P: method __init__ (line 13) | def __init__(self, bot): method connection_made (line 16) | def connection_made(self, *args, **kwargs): function test_reconn (line 23) | async def test_reconn(irc3_bot_factory): FILE: tests/test_reload.py class TestReload (line 51) | class TestReload(BotTestCase): method test_reload (line 53) | def test_reload(self): FILE: tests/test_run.py class TestRun (line 11) | class TestRun(testing.BotTestCase): method setUp (line 13) | def setUp(self): method callFTU (line 22) | def callFTU(self, *args): method test_args_error (line 25) | def test_args_error(self): method test_logdir (line 28) | def test_logdir(self): class TestServerRun (line 35) | class TestServerRun(testing.ServerTestCase): method setUp (line 37) | def setUp(self): method callFTU (line 46) | def callFTU(self, *args): method test_args_error (line 49) | def test_args_error(self): method test_logdir (line 52) | def test_logdir(self): FILE: tests/test_sasl.py class TestSasl (line 5) | class TestSasl(BotTestCase): method test_sasl_plain (line 7) | def test_sasl_plain(self): method test_no_sasl (line 19) | def test_no_sasl(self): FILE: tests/test_search.py class TestSearch (line 5) | class TestSearch(BotTestCase): method test_ddg (line 9) | def test_ddg(self): method test_ddg_redirect (line 19) | def test_ddg_redirect(self): FILE: tests/test_slack.py function test_simple_matches (line 8) | async def test_simple_matches(irc3_bot_factory): function test_channel_matches (line 24) | async def test_channel_matches(irc3_bot_factory): function test_user_matches (line 37) | async def test_user_matches(irc3_bot_factory): function test_emoji_matches (line 50) | async def test_emoji_matches(irc3_bot_factory): FILE: tests/test_social.py class TestSocial (line 6) | class TestSocial(BotTestCase): method test_get_conn (line 13) | def test_get_conn(self): method test_conns (line 18) | def test_conns(self): method test_tweet (line 24) | def test_tweet(self, c): method test_tweet_fail (line 36) | def test_tweet_fail(self, c): method test_retweet (line 44) | def test_retweet(self, c): method test_retweet_fail (line 56) | def test_retweet_fail(self, c): method test_search (line 63) | def test_search(self, c): method test_search_raise (line 69) | def test_search_raise(self, c): FILE: tests/test_template.py class Template (line 11) | class Template(BotTestCase): method setUp (line 13) | def setUp(self): method test_template (line 21) | def test_template(self): FILE: tests/test_uptime.py class TestUptime (line 6) | class TestUptime(BotTestCase): method test_uptime (line 8) | def test_uptime(self): FILE: tests/test_userlist.py class TestUserList (line 5) | class TestUserList(testing.BotTestCase): method test_userlist (line 7) | def test_userlist(self): FILE: tests/test_utils.py function test_hash (line 12) | def test_hash(): function test_config_env (line 31) | def test_config_env(): class TestUtils (line 39) | class TestUtils(TestCase): method test_ircstring (line 41) | def test_ircstring(self): method test_maybedotted (line 63) | def test_maybedotted(self): method test_slugify (line 75) | def test_slugify(self): class TestConfig (line 81) | class TestConfig(TestCase): method test_config_env (line 83) | def test_config_env(self): class TestSplit (line 104) | class TestSplit(TestCase): method test_split_message (line 106) | def test_split_message(self): method test_split_message_long (line 137) | def test_split_message_long(self): method test_split_message_no_whitespace (line 200) | def test_split_message_no_whitespace(self): method test_split_message_byte_max_bytes_too_small (line 237) | def test_split_message_byte_max_bytes_too_small(self): FILE: tests/test_web.py class Payload (line 7) | class Payload: method __init__ (line 9) | def __init__(self, data): method readany (line 12) | async def readany(self): function test_web_handler (line 19) | async def test_web_handler( function test_web_handler_post (line 32) | async def test_web_handler_post( function test_web_handler_post_auth (line 48) | async def test_web_handler_post_auth( function test_web_handler_404 (line 73) | async def test_web_handler_404(