version 1.9.3 (#74)
* bring TwitchBot up to date * prevent responses from bot nickpull/76/head v1.9.3
parent
5b241eee13
commit
a0378e09c9
|
@ -1 +1 @@
|
||||||
__version__ = '1.9.2'
|
__version__ = '1.9.3'
|
||||||
|
|
|
@ -14,6 +14,22 @@ irc.client.ServerConnection.buffer_class.errors = 'replace'
|
||||||
|
|
||||||
|
|
||||||
class Bot(irc.bot.SingleServerIRCBot):
|
class Bot(irc.bot.SingleServerIRCBot):
|
||||||
|
output_message = plugin.message
|
||||||
|
output_action = plugin.action
|
||||||
|
internal_commands = {
|
||||||
|
'join': 'join a channel',
|
||||||
|
'quit': 'force the bot to quit',
|
||||||
|
'reload': 'force bot to reload all plugins',
|
||||||
|
'enable': 'enable a plugin',
|
||||||
|
'disable': 'disable a plugin',
|
||||||
|
'op': 'add a user as bot operator',
|
||||||
|
'deop': 'remove a user as bot operator',
|
||||||
|
'ops': 'list all ops',
|
||||||
|
'ban': 'ban a user from using the bot',
|
||||||
|
'unban': 'remove bot ban for user',
|
||||||
|
'banlist': 'currently banned nicks'
|
||||||
|
}
|
||||||
|
|
||||||
def __init__(self, channels, nickname, server, **kwargs):
|
def __init__(self, channels, nickname, server, **kwargs):
|
||||||
self.port = kwargs.get('port', 6667)
|
self.port = kwargs.get('port', 6667)
|
||||||
self.ops = kwargs.get('ops', [])
|
self.ops = kwargs.get('ops', [])
|
||||||
|
@ -36,21 +52,6 @@ class Bot(irc.bot.SingleServerIRCBot):
|
||||||
self.chanlist = channels
|
self.chanlist = channels
|
||||||
self.bot_nick = nickname
|
self.bot_nick = nickname
|
||||||
self.start_logging()
|
self.start_logging()
|
||||||
self.output_message = plugin.message
|
|
||||||
self.output_action = plugin.action
|
|
||||||
self.internal_commands = {
|
|
||||||
'join': 'join a channel',
|
|
||||||
'quit': 'force the bot to quit',
|
|
||||||
'reload': 'force bot to reload all plugins',
|
|
||||||
'enable': 'enable a plugin',
|
|
||||||
'disable': 'disable a plugin',
|
|
||||||
'op': 'add a user as bot operator',
|
|
||||||
'deop': 'remove a user as bot operator',
|
|
||||||
'ops': 'list all ops',
|
|
||||||
'ban': 'ban a user from using the bot',
|
|
||||||
'unban': 'remove bot ban for user',
|
|
||||||
'banlist': 'currently banned nicks'
|
|
||||||
}
|
|
||||||
self.internal_commands = {self.cmd_prefix + k: v for k,v in self.internal_commands.items()}
|
self.internal_commands = {self.cmd_prefix + k: v for k,v in self.internal_commands.items()}
|
||||||
plugin.load_plugins(self.plugin_dir, use_prefix=self.use_prefix_for_plugins, cmd_prefix=self.cmd_prefix)
|
plugin.load_plugins(self.plugin_dir, use_prefix=self.use_prefix_for_plugins, cmd_prefix=self.cmd_prefix)
|
||||||
|
|
||||||
|
@ -248,6 +249,8 @@ class Bot(irc.bot.SingleServerIRCBot):
|
||||||
|
|
||||||
def process_event(self, c, e):
|
def process_event(self, c, e):
|
||||||
nick = e.source.nick
|
nick = e.source.nick
|
||||||
|
if nick == self.bot_nick:
|
||||||
|
pass
|
||||||
text = e.arguments[0]
|
text = e.arguments[0]
|
||||||
if e.type == 'privmsg' or e.type == 'pubmsg':
|
if e.type == 'privmsg' or e.type == 'pubmsg':
|
||||||
msg_type = 'message'
|
msg_type = 'message'
|
||||||
|
@ -313,18 +316,24 @@ class Bot(irc.bot.SingleServerIRCBot):
|
||||||
|
|
||||||
|
|
||||||
class TwitchBot(Bot):
|
class TwitchBot(Bot):
|
||||||
def __init__(self, nickname, channel, token, plugin_dir='plugins', log_level='info', ops=[]):
|
def __init__(self, nickname, channel, token, **kwargs):
|
||||||
|
self.port = kwargs.get('port', 6667)
|
||||||
|
self.ops = kwargs.get('ops', [])
|
||||||
|
self.plugin_dir = kwargs.get('plugin_dir', 'plugins')
|
||||||
|
self.log_level = kwargs.get('log_level', 'info')
|
||||||
|
self.log_file = kwargs.get('log_file', None)
|
||||||
|
self.server_pass = kwargs.get('server_pass', None)
|
||||||
|
self.cmd_prefix = kwargs.get('cmd_prefix', '!')
|
||||||
|
self.use_prefix_for_plugins = kwargs.get('use_prefix_for_plugins', False)
|
||||||
|
self.disable_help = kwargs.get('disable_help', False)
|
||||||
|
self.banned_users = kwargs.get('banned_users', [])
|
||||||
self.bot_nick = nickname
|
self.bot_nick = nickname
|
||||||
self.log_level = log_level
|
|
||||||
self.start_logging()
|
self.start_logging()
|
||||||
self.channel = channel
|
self.channel = channel
|
||||||
self.plugin_dir = plugin_dir
|
|
||||||
self.ops = ops
|
|
||||||
server = 'irc.twitch.tv'
|
|
||||||
port = 6667
|
|
||||||
self.logger.info('Joining Twitch Server')
|
self.logger.info('Joining Twitch Server')
|
||||||
irc.bot.SingleServerIRCBot.__init__(self, [(server, port, 'oauth:'+token)], nickname, nickname)
|
irc.bot.SingleServerIRCBot.__init__(self, [('irc.twitch.tv', 6667, 'oauth:'+token)], nickname, nickname)
|
||||||
plugin.load_plugins(self.plugin_dir)
|
self.internal_commands = {self.cmd_prefix + k: v for k,v in self.internal_commands.items()}
|
||||||
|
plugin.load_plugins(self.plugin_dir, use_prefix=self.use_prefix_for_plugins, cmd_prefix=self.cmd_prefix)
|
||||||
|
|
||||||
def on_welcome(self, c, e):
|
def on_welcome(self, c, e):
|
||||||
self.logger.info('requesting permissions')
|
self.logger.info('requesting permissions')
|
||||||
|
@ -333,4 +342,3 @@ class TwitchBot(Bot):
|
||||||
c.cap('REQ', ':twitch.tv/commands')
|
c.cap('REQ', ':twitch.tv/commands')
|
||||||
self.logger.info('Joining channel ' + self.channel)
|
self.logger.info('Joining channel ' + self.channel)
|
||||||
c.join(self.channel)
|
c.join(self.channel)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue