Added persistent join/part
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import os
|
||||
import json
|
||||
import logging
|
||||
from collections import OrderedDict
|
||||
|
||||
import irc3
|
||||
from dotenv import load_dotenv
|
||||
@@ -15,6 +16,19 @@ class Bot(irc3.IrcBot):
|
||||
REPO_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
CONFIG_DIR = REPO_DIR if DEV else os.path.dirname(REPO_DIR)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.cfg_file = None
|
||||
self.env_file = None
|
||||
|
||||
def load_config(self):
|
||||
with open(self.cfg_file, 'r') as fp:
|
||||
return json.load(fp, object_pairs_hook=OrderedDict)
|
||||
|
||||
def save_config(self, data):
|
||||
with open(self.cfg_file, 'w') as fp:
|
||||
json.dump(data, fp, indent=2)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, cfg_file: str = 'config.json', env_file: str = '.env'):
|
||||
cfg_file = os.path.join(cls.CONFIG_DIR, cfg_file)
|
||||
@@ -25,7 +39,10 @@ class Bot(irc3.IrcBot):
|
||||
with open(cfg_file, 'r') as fp:
|
||||
conf = json.load(fp)
|
||||
|
||||
return cls.from_config(conf)
|
||||
bot = cls.from_config(conf)
|
||||
bot.cfg_file = cfg_file
|
||||
bot.env_file = env_file
|
||||
return bot
|
||||
|
||||
|
||||
@irc3.plugin
|
||||
|
||||
Reference in New Issue
Block a user