Initial commit

This commit is contained in:
aewens 2019-05-10 07:04:30 +02:00
parent 023fd7d76a
commit 4406d9003f
4 changed files with 96 additions and 1 deletions

6
.gitignore vendored
View File

@ -1,3 +1,9 @@
# Application specific
abots-git/
abots/
abots
*.log
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/

View File

@ -1,3 +1,20 @@
# irc
The IRC component
The IRC component
## Dependencies
* abots
## Setup
Install abots using:
```bash
$ git clone https://tildegit.org/aewens/abots _abots
$ mv _abots/abots .
$ rm -rf _abots
```

0
__init__.py Normal file
View File

72
client.py Executable file
View File

@ -0,0 +1,72 @@
#!/opt/abots/env/bin/python3
from abots.net import IRCSocketClient
from abots.helpers import Logger, infinitedict, isnumeric
from time import sleep
from os import remove as delete_file
from os.path import isfile
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()
irc_host = "localhost"
irc_port = 6667
irc_timeout = 3
irc_client = IRCSocketClient(irc_host, irc_port, daemon=True)#, timeout=irc_timeout)
irc_client.start()
inbox = irc_client.queues.get("inbox")
outbox = irc_client.queues.get("outbox")
events = irc_client.queues.get("events")
#sleep(2)
irc_client.ready.wait()
"""
:center.tilde.chat NOTICE * :*** Looking up your hostname...
:center.tilde.chat NOTICE * :*** Could not resolve your hostname: Domain not found; using your IP address (127.0.0.1) instead.
:center.tilde.chat CAP * LS :account-notify account-tag away-notify batch cap-notify chghost echo-message extended-join invite-notify message-tags sasl server-time
:center.tilde.chat 001 babili|test :Welcome to the tilde.chat IRC Network babili|test!babili|test@127.0.0.1
:center.tilde.chat 002 babili|test :Your host is center.tilde.chat, running version InspIRCd-3
:center.tilde.chat 003 babili|test :This server was created 17:19:44 May 06 2019
"""
def parse(message):
prefix, command, params = message.lstrip(":").rstrip("\r\n").split(" ", 2)
meta = dict()
meta["source"] = "nick" if "!" in prefix else "server"
meta["type"] = "numeric" if isnumeric(command) else "alpha"
return meta
name = "babili"
first = False
server = None
irc_client.send("CAP LS")
irc_client.send("CAP END")
irc_client.send(f"USER {name} - - -")
irc_client.send(f"NICK {name}")
while True:
for letter in irc_client.recv():
if letter is not None:# or len(letter) > 0:
#meta = parse(letter)
#print(meta)
#source = meta["source"]
#if not first and source == "server":
# server = source
# first = True
#elif context == server and command == "CAP":
logger.debug(letter)
sleep(1)
#for letter in irc_client.recv():
# if letter is not None:
# logger.debug(letter)
irc_client.stop()