nxy/bot/__main__.py
2017-07-31 16:10:24 +02:00

52 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
import os
import sys
import json
# noinspection PyPackageRequirements
from dotenv import load_dotenv
from irc3 import IrcBot
# This is a development config for use with irc3s server
CFG_DEV = {
'nick': 'nxy',
'autojoins': ['#dev'],
'host': 'localhost',
'port': 6667,
'ssl': False,
'raw': True,
'debug': True,
'verbose': True,
'irc3.plugins.command.masks': {
'*!admin@127.0.0.1': 'all_permissions',
'*': 'view',
}
}
# TODO: ddg
def main(cfg_file):
# Load dotenv from file
load_dotenv('.env')
# Load config from json file
with open(cfg_file, 'r') as fp:
cfg = json.load(fp)
# Apply dev config if env variable is set
if bool(os.environ.get('DEV')):
cfg.update(CFG_DEV)
# If PASSWORD in env set it in config
if 'PASSWORD' in os.environ:
cfg['password'] = os.environ['PASSWORD']
# Start the bot with constructed config
bot = IrcBot.from_config(cfg)
bot.run()
bot.mode(bot.nick, '+R')
if __name__ == '__main__':
main(sys.argv[1])