Basic setup for launcher

This commit is contained in:
aewens 2019-05-29 23:48:04 -04:00
parent 089bf10748
commit 3ad641ebde
5 changed files with 77 additions and 1 deletions

8
.gitignore vendored
View File

@ -1,3 +1,11 @@
abots
core
server
ircclient
*.vim
*.swp
settings.json
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/

View File

@ -1,4 +1,4 @@
Copyright (c) <year> <owner> . All rights reserved.
Copyright (c) 2019 Austin Ewens. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

0
__init__.py Normal file
View File

48
launch.py Normal file
View File

@ -0,0 +1,48 @@
#!/usr/bin/env python3
from core.composer import Composer
from core.plugins import *
from abots.net import PrefixSocketClient, PrefixSocketServer
from abots.helpers import Logger, infinitedict, isnumeric, coroutine, generator
from os import remove as delete_file
from os.path import isfile
from threading import Thread
logname = "babili_irc_client"
logfile = f"{logname}.log"
if isfile(logfile):
delete_file(logfile)
settings = infinitedict()
settings["file"]["formatter"] = "%(message)s"
settings["stream"]["formatter"] = "%(message)s"
logger = Logger(logname, settings=settings)
logger.start()
composer = Composer(logger)
irc_host = "irc.freenode.net"#"irc.tilde.chat"#"localhost"
irc_port = 6697
irc_timeout = 3
irc_args = irc_host, irc_port, irc_timeout, True
irc_client, inbox, outbox, events = composer.start_irc_socket(*irc_args)
irc_client.ready.wait()
composer.set_state("irc-host", irc_host)
prefix_host = "localhost"
prefix_port = 10401
prefix_timeout = 3
prefix_server = PrefixSocketServer(prefix_host, prefix_port, prefix_timeout)
Thread(target=prefix_server.start, daemon=True).start()
prefix_client = PrefixSocketClient(prefix_host, prefix_port, prefix_timeout)
Thread(target=prefix_client.start, daemon=True).start()
composer.set_state("prefix-client", prefix_client)
#irc_client.send("USERprefix_ babilprefix_i - - prefix_-")
#irc_client.send("NICK babili")
#composer.subscribe("startup/init")
composer.subscribe_many(["startup/init", "debug/log"])
Thread(target=composer.get_messages, args=(irc_client,), daemon=True).start()

20
settings.example.json Normal file
View File

@ -0,0 +1,20 @@
{
"irc": {
"name": "",
"password": "",
"author": "",
"auto-join": [
"#bots"
],
"requirements": [
"account-notify",
"account-tag",
"away-notify",
"cap-notify",
"chghost",
"extended-join",
"message-tags",
"server-time"
]
}
}