summaryrefslogtreecommitdiff
path: root/config.py
diff options
context:
space:
mode:
authorPawky Laguish2024-11-26 21:16:05 +0000
committerPawky Laguish2024-11-26 21:16:05 +0000
commitea30e6ff34f6c5356e42c23a3b0c74fbbaa17771 (patch)
tree9a2f3125c5755bafc9b279103a29030fb608c244 /config.py
wip
Diffstat (limited to 'config.py')
-rw-r--r--config.py81
1 files changed, 81 insertions, 0 deletions
diff --git a/config.py b/config.py
new file mode 100644
index 0000000..27cf5c4
--- /dev/null
+++ b/config.py
@@ -0,0 +1,81 @@
+import importlib, sys
+
+# default config file, copy the contents into local_config.py and modify
+if __name__ == "local_config":
+ config = importlib.reload(sys.modules["config"]).config
+else:
+ class config: # dummy, so the local config can simply be a copy of this template
+ ...
+
+
+class config(config):
+ class self:
+ nick = "pawbot"
+ username = "pawky_bot"
+ # you should probably indicate yourself to be the owner of the bot, in username, or realname, or both
+ realname = "pawky's bot"
+ source = "/home/pawky/git/sotdbot" # so far only used for ctcp response
+ gitdir = "./" # where is the bot git dir? currently only used for version (git commit hash, assuming latest commit == latest version)
+
+ class server:
+ name = "town"
+ host = "localhost"
+ port = 6667
+ ssl = False
+ nickserv_auth = False
+ nickserv_mask = (
+ "NickServ!NickServ@localhost" # the mask you receive from server
+ )
+ nickserv_squery = False # squery seems to only be a thing on ngircd
+ nickserv_path = "NickServ@localhost" # the mask you actually send commands to
+ # get password from secret file
+ nickserv_pass = open("pass.txt", "r").read().strip() if nickserv_auth else ""
+ nickserv_recover = "RECOVER" # I recall it being GHOST on some networks?
+ channel = "#bots"
+ autojoin = []
+ blacklisted_channels = []
+
+ class admin:
+ # ircv3 account-tag based admin
+ accounts = ["pawky", "sotdboat"]
+ # hostmask-based admin, if at all possible, you should try to use a vhost or reverse dns, or identd, to prevent fakery
+ hostmasks = ["pawky!pawky@localhost", "*!pawky@localhost"]
+
+ class cmd:
+ # right now, single-character prefixes only (plus bot's own nick)
+ prefixes = ["!"]
+ # disabled commands, won't run via normal means...probably
+ disabled = []
+ # admin-only override,
+ # useful for testing broken commands which should still be normal-user accessible
+ # commands which should only ever be used by admins, should be designated as such in code, not through here (e.g. exit)
+ admin_only = []
+ ignored_nicks = []
+ # try to read youtube page only up to <body> tag, maybe it's faster?
+ # premature optimization is the root of all evil
+ yt_premature_opt = True
+
+ capabilities = [ # what capabilities shall we request?
+ "message-tags", # needed for account-tag!
+ "account-tag", # account tag allows us to identify people without needing custom login!
+ "multi-prefix", # perhaps eventually useful for detecting people's status, such as +v AND +o ? not currently needed
+ "batch", # we wouldn't want to trigger on historic message playback (only usage of it I've seen)
+ "away-notify", # no functionality deals with away status yet, but could be interesting
+ "account-notify", # I don't remember why I try requesting this lol, I think it's to do with account-tag
+ "chghost", # uh, same, I think?
+ ]
+
+# cap-notify draft/account-registration draft/channel-rename draft/persistence draft/read-marker echo-message ergo.chat/nope extended-join extended-monitor invite-notify labeled-response sasl=PLAIN,EXTERNAL server-time setname userhost-in-names znc.in/self-message
+# message-tags multi-prefix account-tag batch away-notify account-notify chghost
+
+# you should remove the following lines if you're editing local_config.py
+if __name__ == "config":
+ try:
+ config = importlib.reload(sys.modules["local_config"]).config
+ except ModuleNotFoundError:
+ print("\x1b[31m!!! you should probably set up local config !!!\x1b[0m")
+ except KeyError:
+ try:
+ from local_config import config
+ except ModuleNotFoundError:
+ print("\x1b[31m!!! you should probably set up local config !!!\x1b[0m")