Open fred0r opened 4 years ago
There is a preliminary implementation of channel info support at https://github.com/matiasw/limnoria-plugins/tree/spiffytitles-youtube-channel/SpiffyTitles
It still needs to add support for @-URLs, such as https://www.youtube.com/@GoogleDevelopers, but it appears that there is no API to get a channel ID by @ signifier. We would also need to decide if there should be a separate configurable template for channel info, like there is for video info - currently, there is a hardcoded format that is always used for channel information. For these reasons, I am not making a pull request quite yet, but you could still look into using this development version if you want channel information support right now, as it is basically functional.
@matiasw using it for some days and its working fine - thank you. looking forward to your pull request with the final version :)
@fred0r I added support for @username style channels - turns out you just need to strip the @ and the API works.
@oddluck If you could help me fix the yt_logo thing, I would make a pull request. Here's the error I'm getting:
ERROR 2024-01-21T04:51:37 Uncaught exception in SpiffyTitles.__call__:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/supybot/log.py", line 371, in m
return f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/supybot/irclib.py", line 203, in __call__
method(irc, msg)
File "/mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py", line 220, in doPrivmsg
title = self.get_title_by_url(url, channel, msg.nick)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py", line 279, in get_title_by_url
title = handler(url, info, channel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py", line 1026, in handler_youtube
yt_logo = self.get_youtube_logo(channel) #FIXME: why doesn't work here?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py", line 1049, in get_youtube_logo
use_bold = self.registryValue("useBold", channel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/supybot/callbacks.py", line 1692, in registryValue
group = group.getSpecific(network=network, channel=channel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/supybot/registry.py", line 446, in getSpecific
if channel and not ircutils.isChannel(channel):
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/supybot/ircutils.py", line 167, in isChannel
s[0] in chantypes and \
~^^^
KeyError: 0
ERROR 2024-01-21T04:51:37 Exception id: 0xc0446
DEBUG 2024-01-21T04:51:37 Limnoria version: 2023.01.28
Locals by frame, innermost last:
Frame m in /usr/lib/python3/dist-packages/supybot/log.py at line 375
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
args = (<supybot.callbacks.ReplyIrcProxy object at 0x7f077e948610>, IrcMsg(server_tags={'time': '2024-01-21T02:51:36.706Z', 'account': 'appas'}, prefix="appas!~appas@178.62.234.243", command="PRIVMSG", args=('#limnoria-bots', 'http://youtube.com/user/vjdep')))
kwargs = {}
errorHandler = None
f = <function IrcCallback.__call__ at 0x7f0783299a80>
logException = <function firewall.<locals>.logException at 0x7f0783299620>
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame __call__ in /usr/lib/python3/dist-packages/supybot/irclib.py at line 203
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
irc = <supybot.callbacks.ReplyIrcProxy object at 0x7f077e948610>
msg = IrcMsg(server_tags={'time': '2024-01-21T02:51:36.706Z', 'account': 'appas'}, prefix="appas!~appas@178.62.234.243", command="PRIVMSG", args=('#limnoria-bots', 'http://youtube.com/user/vjdep'))
method = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame doPrivmsg in /mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py at line 220
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
irc = <supybot.callbacks.ReplyIrcProxy object at 0x7f077e948610>
msg = IrcMsg(server_tags={'time': '2024-01-21T02:51:36.706Z', 'account': 'appas'}, prefix="appas!~appas@178.62.234.243", command="PRIVMSG", args=('#limnoria-bots', 'http://youtube.com/user/vjdep'))
channel = '#limnoria-bots'
message = 'http://youtube.com/user/vjdep'
title = None
urls = ['http://youtube.com/user/vjdep']
url = 'http://youtube.com/user/vjdep'
info = ParseResult(scheme='http', netloc='youtube.com', path='/user/vjdep', params='', query='', fragment='')
domain = 'youtube.com'
is_ignored = None
is_whitelisted_domain = None
whitelist_pattern = None
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame get_title_by_url in /mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py at line 279
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
url = 'http://youtube.com/user/vjdep'
channel = '#limnoria-bots'
origin_nick = 'appas'
info = ParseResult(scheme='http', netloc='youtube.com', path='/user/vjdep', params='', query='', fragment='')
domain = 'youtube.com'
title = None
cached_link = None
handler = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame handler_youtube in /mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py at line 1028
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
url = 'http://youtube.com/user/vjdep'
domain = ParseResult(scheme='http', netloc='youtube.com', path='/user/vjdep', params='', query='', fragment='')
channel = {'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}
type = 'channel'
youtube_handler_enabled = True
developer_key = 'AIzaSyDBgL8fm9bD8RLShATOLI1xKmFcZ4ieMkM'
video_id = None
channel_id = 'UC8q8-EiWZEYg9U0Qr_oy8Nw'
yt_template = <Template memory:7f077e78e3d0>
title = 'appas'
options = {'part': 'snippet,statistics,contentDetails', 'maxResults': 1, 'key': 'AIzaSyDBgL8fm9bD8RLShATOLI1xKmFcZ4ieMkM', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw'}
api_url = 'https://www.googleapis.com/youtube/v3/channels'
request = <Response [200]>
response = {'kind': 'youtube#channelListResponse', 'etag': 'J10AsqLwN01wBrC8PMqX05IqO6g', 'pageInfo': {'totalResults': 1, 'resultsPerPage': 1}, 'items': [{'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}]}
items = [{'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}]
snippet = {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}
statistics = {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}
view_count = '8,207'
subscriber_count = '43'
video_count = '35'
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles
SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame get_youtube_logo in /mnt/c/work/code/limnoria-plugins/SpiffyTitles/plugin.py at line 1049
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
channel = {'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame registryValue in /usr/lib/python3/dist-packages/supybot/callbacks.py at line 1692
self = <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>
name = 'useBold'
channel = {'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}
network = None
value = True
plugin = 'SpiffyTitles'
group = <supybot.registry.Boolean object at 0x7f0782af16f0>
names = ['useBold']
self.Proxy = <class 'supybot.callbacks.NestedCommandsIrcProxy'>
self._MetaSynchronized_rlock = <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>
self._PluginMixin__parent = <super: <class 'PluginMixin'>, <SpiffyTitles object>>
self._SpiffyTitles__parent = <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>
self.__call__ = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__class__ = <class 'SpiffyTitles.plugin.SpiffyTitles'>
self.__delattr__ = <method-wrapper '__delattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__dict__ = {'_MetaSynchronized_rlock': <unlocked _thread.RLock object owner=0 count=0 at 0x7f077fb43b80>, '_SpiffyTitles__parent': <super: <class 'SpiffyTitles'>, <SpiffyTitles object>>, 'log': <Logger supybot (Level -1)>, '_PluginMixin__parent': <super: <class 'PluginMixin'>, <SpiffyTitles object>>, 'cbs': [], 'link_cache': {}, 'handlers': {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}, 'timeout': 10, 'proxies': {'http': None, 'https': None}, 'classModule': <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>}
self.__dir__ = <built-in method __dir__ of SpiffyTitles object at 0x7f0782b53390>
self.__doc__ = 'Displays link titles when posted in a channel'
self.__eq__ = <method-wrapper '__eq__' of SpiffyTitles object at 0x7f0782b53390>
self.__firewalled__ = {'isCommand': None, '_callCommand': None}
self.__format__ = <built-in method __format__ of SpiffyTitles object at 0x7f0782b53390>
self.__ge__ = <method-wrapper '__ge__' of SpiffyTitles object at 0x7f0782b53390>
self.__getattribute__ = <method-wrapper '__getattribute__' of SpiffyTitles object at 0x7f0782b53390>
self.__getstate__ = <built-in method __getstate__ of SpiffyTitles object at 0x7f0782b53390>
self.__gt__ = <method-wrapper '__gt__' of SpiffyTitles object at 0x7f0782b53390>
self.__hash__ = <method-wrapper '__hash__' of SpiffyTitles object at 0x7f0782b53390>
self.__init__ = <bound method MetaSynchronized.__new__.<locals>.__init__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__init_subclass__ = <built-in method __init_subclass__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__le__ = <method-wrapper '__le__' of SpiffyTitles object at 0x7f0782b53390>
self.__lt__ = <method-wrapper '__lt__' of SpiffyTitles object at 0x7f0782b53390>
self.__module__ = 'SpiffyTitles.plugin'
self.__ne__ = <method-wrapper '__ne__' of SpiffyTitles object at 0x7f0782b53390>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of SpiffyTitles object at 0x7f0782b53390>
self.__reduce_ex__ = <built-in method __reduce_ex__ of SpiffyTitles object at 0x7f0782b53390>
self.__repr__ = <bound method IrcCallback.__repr__ of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.__setattr__ = <method-wrapper '__setattr__' of SpiffyTitles object at 0x7f0782b53390>
self.__sizeof__ = <built-in method __sizeof__ of SpiffyTitles object at 0x7f0782b53390>
self.__str__ = <method-wrapper '__str__' of SpiffyTitles object at 0x7f0782b53390>
self.__subclasshook__ = <built-in method __subclasshook__ of MetaSynchronizedAndFirewalled object at 0x216f880>
self.__synchronized__ = ('__call__', 'callCommand', 'invalidCommand')
self.__weakref__ = None
self._callCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self._disabled = <supybot.callbacks.DisabledCommands object at 0x7f0782f28390>
self._time_created_at = <bound method SpiffyTitles._time_created_at of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_coub_handlers = <bound method SpiffyTitles.add_coub_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_dailymotion_handlers = <bound method SpiffyTitles.add_dailymotion_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_handlers = <bound method SpiffyTitles.add_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imdb_handlers = <bound method SpiffyTitles.add_imdb_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_imgur_handlers = <bound method SpiffyTitles.add_imgur_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_reddit_handlers = <bound method SpiffyTitles.add_reddit_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitch_handlers = <bound method SpiffyTitles.add_twitch_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_twitter_handlers = <bound method SpiffyTitles.add_twitter_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_vimeo_handlers = <bound method SpiffyTitles.add_vimeo_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_wikipedia_handlers = <bound method SpiffyTitles.add_wikipedia_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.add_youtube_handlers = <bound method SpiffyTitles.add_youtube_handlers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.alwaysCall = ()
self.callAfter = ()
self.callBefore = ['Web']
self.callCommand = <bound method MetaSynchronized.__new__.<locals>.synchronized.<locals>.g of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.callPrecedence = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.canonicalName = <bound method PluginMixin.canonicalName of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.cbs = []
self.classModule = <module 'SpiffyTitles' from '/mnt/c/work/code/limnoria-plugins/SpiffyTitles/__init__.py'>
self.commandArgs = ['self', 'irc', 'msg', 'args']
self.die = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.dispatchCommand = <bound method IrcCommandDispatcher.dispatchCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.doPrivmsg = <bound method SpiffyTitles.doPrivmsg of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.echoMessage = False
self.echo_message = False
self.filter_empty = <bound method SpiffyTitles.filter_empty of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommand = <bound method Commands.getCommand of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandHelp = <bound method Commands.getCommandHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getCommandMethod = <bound method Commands.getCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.getPluginHelp = <bound method PluginMixin.getPluginHelp of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_base_domain = <bound method SpiffyTitles.get_base_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_channel_id_from_url = <bound method SpiffyTitles.get_channel_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_duration_from_seconds = <bound method SpiffyTitles.get_duration_from_seconds of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_formatted_title = <bound method SpiffyTitles.get_formatted_title of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_headers = <bound method SpiffyTitles.get_headers of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_imdb_logo = <bound method SpiffyTitles.get_imdb_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_link_from_cache = <bound method SpiffyTitles.get_link_from_cache of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_readable_file_size = <bound method SpiffyTitles.get_readable_file_size of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_source_by_url = <bound method SpiffyTitles.get_source_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_template = <bound method SpiffyTitles.get_template of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_timestamp_from_youtube_url = <bound method SpiffyTitles.get_timestamp_from_youtube_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_by_url = <bound method SpiffyTitles.get_title_by_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_title_from_html = <bound method SpiffyTitles.get_title_from_html of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_total_seconds_from_duration = <bound method SpiffyTitles.get_total_seconds_from_duration of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_twitch_logo = <bound method SpiffyTitles.get_twitch_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_urls_from_message = <bound method SpiffyTitles.get_urls_from_message of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_user_agent = <bound method SpiffyTitles.get_user_agent of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_video_id_from_url = <bound method SpiffyTitles.get_video_id_from_url of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.get_youtube_logo = <bound method SpiffyTitles.get_youtube_logo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_coub = <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_dailymotion = <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_default = <bound method SpiffyTitles.handler_default of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imdb = <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur = <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_album = <bound method SpiffyTitles.handler_imgur_album of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_imgur_image = <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_reddit = <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitch = <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_twitter = <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_vimeo = <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_wikipedia = <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handler_youtube = <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.handlers = {'youtube.com': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'youtu.be': <bound method SpiffyTitles.handler_youtube of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imdb.com': <bound method SpiffyTitles.handler_imdb of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'i.imgur.com': <bound method SpiffyTitles.handler_imgur_image of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'imgur.com': <bound method SpiffyTitles.handler_imgur of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'coub.com': <bound method SpiffyTitles.handler_coub of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'vimeo.com': <bound method SpiffyTitles.handler_vimeo of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dailymotion.com': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'dai.ly': <bound method SpiffyTitles.handler_dailymotion of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'wikipedia.org': <bound method SpiffyTitles.handler_wikipedia of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.reddit.com': <bound method SpiffyTitles.handler_reddit of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'go.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'clips.twitch.tv': <bound method SpiffyTitles.handler_twitch of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.twitter.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>, 'www.x.com': <bound method SpiffyTitles.handler_twitter of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>}
self.inFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommand = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isCommandMethod = <bound method Commands.isCommandMethod of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.isDisabled = <bound method Commands.isDisabled of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_channel_allowed = <bound method SpiffyTitles.is_channel_allowed of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_ignored_domain = <bound method SpiffyTitles.is_ignored_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_valid_imgur_id = <bound method SpiffyTitles.is_valid_imgur_id of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.is_whitelisted_domain = <bound method SpiffyTitles.is_whitelisted_domain of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.link_cache = {}
self.listCommands = <bound method Commands.listCommands of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.log = <Logger supybot (Level -1)>
self.message_matches_ignore_pattern = <bound method SpiffyTitles.message_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.name = <bound method Commands.name of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.noIgnore = False
self.outFilter = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.postTransition = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.pre_command_callbacks = []
self.proxies = {'http': None, 'https': None}
self.public = True
self.registryValue = <bound method PluginMixin.registryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.remove_control_characters = <bound method SpiffyTitles.remove_control_characters of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.reset = <bound method firewall.<locals>.m of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setRegistryValue = <bound method PluginMixin.setRegistryValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.setUserValue = <bound method PluginMixin.setUserValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.t = <bound method _wrap.<locals>.newf of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.threaded = True
self.timeout = 10
self.title_matches_ignore_pattern = <bound method SpiffyTitles.title_matches_ignore_pattern of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.userValue = <bound method PluginMixin.userValue of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
self.user_has_capability = <bound method SpiffyTitles.user_has_capability of <SpiffyTitles SpiffyTitles <SpiffyTitles.plugin.SpiffyTitles object at 0x7f0782b53390>>>
Frame getSpecific in /usr/lib/python3/dist-packages/supybot/registry.py at line 446
self = <supybot.registry.Boolean object at 0x7f0782af16f0>
network = None
channel = {'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}
check = True
fallback_to_channel = True
self._Group__nonExistentEntry = <bound method Group.__nonExistentEntry of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self._Value__parent = <super: <class 'Value'>, <Boolean object>>
self.__call__ = <bound method Value.__call__ of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.__class__ = <class 'supybot.registry.Boolean'>
self.__delattr__ = <method-wrapper '__delattr__' of Boolean object at 0x7f0782af16f0>
self.__dir__ = <built-in method __dir__ of Boolean object at 0x7f0782af16f0>
self.__doc__ = 'Value must be either True or False (or On or Off).'
self.__eq__ = <method-wrapper '__eq__' of Boolean object at 0x7f0782af16f0>
self.__format__ = <built-in method __format__ of Boolean object at 0x7f0782af16f0>
self.__ge__ = <method-wrapper '__ge__' of Boolean object at 0x7f0782af16f0>
self.__getattr__ = <bound method Group.__getattr__ of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.__getattribute__ = <method-wrapper '__getattribute__' of Boolean object at 0x7f0782af16f0>
self.__getstate__ = <built-in method __getstate__ of Boolean object at 0x7f0782af16f0>
self.__gt__ = <method-wrapper '__gt__' of Boolean object at 0x7f0782af16f0>
self.__hasattr__ = <bound method Group.__hasattr__ of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.__hash__ = <method-wrapper '__hash__' of Boolean object at 0x7f0782af16f0>
self.__init__ = <bound method Value.__init__ of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.__init_subclass__ = <built-in method __init_subclass__ of type object at 0x165ea60>
self.__le__ = <method-wrapper '__le__' of Boolean object at 0x7f0782af16f0>
self.__lt__ = <method-wrapper '__lt__' of Boolean object at 0x7f0782af16f0>
self.__module__ = 'supybot.registry'
self.__ne__ = <method-wrapper '__ne__' of Boolean object at 0x7f0782af16f0>
self.__new__ = <built-in method __new__ of type object at 0x9563c0>
self.__reduce__ = <built-in method __reduce__ of Boolean object at 0x7f0782af16f0>
self.__reduce_ex__ = <built-in method __reduce_ex__ of Boolean object at 0x7f0782af16f0>
self.__repr__ = <method-wrapper '__repr__' of Boolean object at 0x7f0782af16f0>
self.__setattr__ = <method-wrapper '__setattr__' of Boolean object at 0x7f0782af16f0>
self.__sizeof__ = <built-in method __sizeof__ of Boolean object at 0x7f0782af16f0>
self.__slots__ = ()
self.__str__ = <bound method Value.__str__ of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.__subclasshook__ = <built-in method __subclasshook__ of type object at 0x165ea60>
self._added = ['#limnoria-bots']
self._callbacks = []
self._channelValue = True
self._children = InsensitivePreservingDict({'#limnoria-bots': ('#limnoria-bots', <supybot.registry.Boolean object at 0x7f077fb25850>)})
self._default = False
self._help = 'Use bold in titles'
self._lastModified = 704519.196308146
self._makeChild = <bound method Value._makeChild of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self._name = 'supybot.plugins.SpiffyTitles.useBold'
self._networkValue = True
self._opSettable = True
self._orderAlphabetically = True
self._private = False
self._setValue = <bound method Value._setValue of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self._showDefault = True
self._supplyDefault = True
self._wasSet = True
self.addCallback = <bound method Value.addCallback of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.context = <bound method Value.context of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.error = <bound method Value.error of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.errormsg = 'Value must be either True or False (or On or Off), not %r.'
self.get = <bound method Group.get of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.getSpecific = <bound method Value.getSpecific of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.getValues = <bound method Group.getValues of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.help = <bound method Group.help of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.register = <bound method Group.register of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.removeCallback = <bound method Value.removeCallback of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.rename = <bound method Group.rename of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.serialize = <bound method Value.serialize of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.set = <bound method Boolean.set of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.setName = <bound method Value.setName of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.setValue = <bound method Boolean.setValue of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.unregister = <bound method Group.unregister of <supybot.registry.Boolean object at 0x7f0782af16f0>>
self.value = False
Frame isChannel in /usr/lib/python3/dist-packages/supybot/ircutils.py at line 167
s = {'kind': 'youtube#channel', 'etag': 'V8vD-dQ4Sf7NpfWBTSbu3_jyo40', 'id': 'UC8q8-EiWZEYg9U0Qr_oy8Nw', 'snippet': {'title': 'appas', 'description': '', 'customUrl': '@vjdep', 'publishedAt': '2009-11-24T08:52:56Z', 'thumbnails': {'default': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s88-c-k-c0x00ffffff-no-rj', 'width': 88, 'height': 88}, 'medium': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s240-c-k-c0x00ffffff-no-rj', 'width': 240, 'height': 240}, 'high': {'url': 'https://yt3.ggpht.com/ytc/AIf8zZRV55TqQTmK8nt2WJ3O47bBR3PRhnXoTv5KuQ=s800-c-k-c0x00ffffff-no-rj', 'width': 800, 'height': 800}}, 'localized': {'title': 'appas', 'description': ''}}, 'contentDetails': {'relatedPlaylists': {'likes': '', 'uploads': 'UU8q8-EiWZEYg9U0Qr_oy8Nw'}}, 'statistics': {'viewCount': '8207', 'subscriberCount': '43', 'hiddenSubscriberCount': False, 'videoCount': '35'}}
chantypes = '#&!'
channellen = 50
+-----------------------+
| End of locals display |
+-----------------------+
I can not figure out why this piece of code does not work here, when it works in the video section.
https://github.com/matiasw/limnoria-plugins/blob/spiffytitles-youtube-channel/SpiffyTitles%2Fplugin.py#L1013 You're overwriting the channel variable which is irc specific with the YouTube channel name... Call that variable something else like yt_channel or whatever
@oddluck ah, that was dumb on my part. It's fixed in https://github.com/oddluck/limnoria-plugins/pull/61/commits/c7120bc7ba8356be9fc2fcdc7e282494c17ea790 and a pull request has been created: https://github.com/oddluck/limnoria-plugins/pull/61
When someone pastes a YT-Url to a Users YT-Channel, the bot only shows 'YouTube' and the Bot-Console shows:
SpiffyTitles: error getting video id from https://www.youtube.com/channel/.........