diff --git a/botconfig.py.example b/botconfig.py.example index 01d1002..9a0c323 100644 --- a/botconfig.py.example +++ b/botconfig.py.example @@ -1,13 +1,14 @@ PASS = "my_nickserv_pass" CHANNEL = "#mywolfgame" HOST = "irc.freenode.net" -PORT = 6667 # SSL not supported yet +PORT = 6667 USERNAME = "" # for authentication, can be left blank if same as NICK NICK = "mywolfbot" CMD_CHAR = "!" CHANGING_HOST_QUIT_MESSAGE = "Changing host" SASL_AUTHENTICATION = False # put account name in USERNAME ^ if different from nick +USE_SSL = False DISABLE_DEBUG_MODE = False # Entirely disable debug mode IGNORE_HIDDEN_COMMANDS = True # Ignore commands sent to @#channel or +#channel ALLOW_NOTICE_COMMANDS = False # allow /notice #channel !command to be interpreted as a command diff --git a/oyoyo/client.py b/oyoyo/client.py index 65f4d6a..66898c4 100644 --- a/oyoyo/client.py +++ b/oyoyo/client.py @@ -20,6 +20,7 @@ import time import threading import traceback import sys +import ssl from oyoyo.parse import parse_raw_irc_command @@ -96,7 +97,7 @@ class IRCClient(object): To enable blocking pass blocking=True. """ - self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.nickname = "" self.hostmask = "" self.ident = "" @@ -108,12 +109,16 @@ class IRCClient(object): self.connect_cb = None self.blocking = True self.sasl_auth = False + self.use_ssl = False self.lock = threading.RLock() self.tokenbucket = TokenBucket(23, 1.73) self.__dict__.update(kwargs) self.command_handler = cmd_handler + + if self.use_ssl: + self.socket = ssl.wrap_socket(self.socket) self._end = 0 diff --git a/wolfbot.py b/wolfbot.py index dfcbf0b..f2fc54c 100755 --- a/wolfbot.py +++ b/wolfbot.py @@ -52,6 +52,7 @@ def main(): password=botconfig.PASS, nickname=botconfig.NICK, sasl_auth=botconfig.SASL_AUTHENTICATION, + use_ssl=botconfig.USE_SSL, connect_cb=modules.common.connect_callback ) cli.mainLoop()