173 lines
6.4 KiB
Markdown
173 lines
6.4 KiB
Markdown
# SpiffyTitles #
|
|
|
|
Displays link titles when posted in a channel.
|
|
|
|
## Notable features ##
|
|
|
|
- Configurable template so you can decide how titles are displayed and what they say
|
|
- Additional information about [Youtube](https://youtube.com) videos
|
|
- Additional information about [imgur](https://imgur.com) links
|
|
- Rate limiting to mitigate abuse
|
|
- Configurable white/black list to control where titles are disabled
|
|
- Configurable list of user agents
|
|
- Ability to ignore domains using a regular expression
|
|
|
|
Check out the [available options](#available-options)
|
|
|
|
## Using SpiffyTitles ##
|
|
- Install the requirements: `pip install -r SpiffyTitles/requirements.txt --user --upgrade`
|
|
- You should `unload` the Web plugin and any other plugins that show link titles for best results
|
|
|
|
To unload the Web plugin:
|
|
|
|
!unload Web
|
|
|
|
Load SpiffyTitles:
|
|
|
|
!load SpiffyTitles
|
|
|
|
Tip: Observe the logs when loading the plugin and afterwards to see what's going on under the hood.
|
|
|
|
## Available Options ##
|
|
|
|
`defaultTitleTemplate` - This is the template used when showing the title of a link.
|
|
|
|
Default value: `^ {{title}}`
|
|
|
|
Example output:
|
|
|
|
^ Google.com
|
|
|
|
### Youtube handler ###
|
|
|
|
Note: as of April 20 2015 version 2 of the Youtube API was deprecated. As a result, this feature now
|
|
requires a [developer key](https://code.google.com/apis/youtube/dashboard/gwt/index.html#settings).
|
|
|
|
- Obtain a [developer key](https://code.google.com/apis/youtube/dashboard/gwt/index.html#settings)
|
|
- Set the key: `!config supybot.plugins.SpiffyTitles.youtubeDeveloperKey your_developer_key_here`
|
|
- Reload: `!reload SpiffyTitles`
|
|
|
|
`youtubeTitleTemplate` - This is the template used when showing the title of a YouTube video
|
|
|
|
Default value: `^ {{title}} :: Duration: {{duration}} :: Views: {{view_count}}`
|
|
|
|
Example output:
|
|
|
|
^ Snoop Dogg - Pump Pump feat. Lil Malik :: Duration: 00:04:41 :: Views: 189,120
|
|
|
|
### imgur handler ###
|
|
|
|
`imgurTemplate` - This is the template used when showing information about an [imgur](https://imgur.com) link.
|
|
|
|
Default value
|
|
|
|
`^ {%if section %} [{{section}}] {% endif -%}{%- if title -%} {{title}} :: {% endif %}{{type}} {{width}}x{{height}} {{file_size}} :: {{view_count}} views :: {%if nsfw == None %}not sure if safe for work{% elif nsfw == True %}not safe for work!{% else %}safe for work{% endif %}`
|
|
|
|
Example output:
|
|
|
|
^ [pics] He really knows nothing... :: image/jpeg 700x1575 178.8KiB :: 809 views :: safe for work
|
|
|
|
`imgurAlbumTemplate` - This is the template used when showing information about an imgur album link.
|
|
|
|
Default value
|
|
|
|
`^ {%if section %} [{{section}}] {% endif -%}{%- if title -%} {{title}} :: {% endif %}{{image_count}} images :: {{view_count}} views :: {%if nsfw == None %}not sure if safe for work{% elif nsfw == True %}not safe for work!{% else %}safe for work{% endif %}`
|
|
|
|
Example output:
|
|
|
|
^ [compsci] Regex Fractals :: 33 images :: 21,453 views :: safe for work
|
|
|
|
### Using the imgur handler ###
|
|
|
|
- You'll need to [register an application with imgur](https://api.imgur.com/oauth2/addclient)
|
|
- Select "OAuth 2 authorization without a callback URL"
|
|
- Once registered, set your client id and client secret and reload SpiffyTitles
|
|
|
|
`!config set supybot.plugins.SpiffyTitles.imgurClientID`
|
|
|
|
`!config set supybot.plugins.SpiffyTitles.imgurClientSecret`
|
|
|
|
`!reload SpiffyTitles`
|
|
|
|
### Notes on the imgur handler ###
|
|
|
|
- If there is a problem reaching the API the default handler will be used as a fallback. See logs for details.
|
|
- The API seems to report information on the originally uploaded image and not other formats
|
|
- If you see something from [the imgur api](https://api.imgur.com/models/image) that you want and is not available
|
|
in the above example, [please open an issue!](https://github.com/prgmrbill/limnoria-plugins/issues/new)
|
|
|
|
`useBold` - Whether to bold the title. Default value: `False`
|
|
|
|
`cooldownInSeconds` - Only show the title of the same URL every X seconds. This setting prevents the
|
|
bot from spamming the channel if the same link is posted multiple times quickly. Default value: `5`
|
|
|
|
`channelWhitelist` - a comma separated list of channels in which titles should be displayed. If `""`,
|
|
titles will be shown in all channels. Default value: `""`
|
|
|
|
`channelBlacklist` - a comma separated list of channels in which titles should never be displayed. If `""`,
|
|
titles will be shown in all channels. Default value: `""`
|
|
|
|
### About white/black lists ###
|
|
|
|
- If `channelWhitelist` and `channelBlacklist` are empty, then titles will be displayed in every channel
|
|
- If `channelBlacklist` has #foo, then titles will be displayed in every channel except #foo
|
|
- If `channelWhitelist` has #foo then `channelBlacklist` will be ignored
|
|
|
|
### Examples ###
|
|
|
|
### Show titles in every channel except #foo ###
|
|
|
|
!config supybot.plugins.SpiffyTitles.channelBlacklist #foo
|
|
|
|
### Only show titles in #bar ###
|
|
|
|
!config supybot.plugins.SpiffyTitles.channelWhitelist #bar
|
|
|
|
### Only show titles in #baz and #bar ###
|
|
|
|
!config supybot.plugins.SpiffyTitles.channelWhitelist #baz,#bar
|
|
|
|
### Remove channel whitelist ###
|
|
|
|
!config supybot.plugins.SpiffyTitles.channelWhitelist ""
|
|
|
|
`ignoredDomainPattern` - ignore domains matching this pattern. Default value: `""`
|
|
|
|
### Tip ###
|
|
|
|
You can ignore domains that you know aren't websites. This prevents a request from being made at all.
|
|
|
|
### Examples ###
|
|
|
|
Ignore all links with the domain `i.imgur.com`
|
|
|
|
!config supybot.plugins.SpiffyTitles.ignoredDomainPattern (i\.imgur\.com)
|
|
|
|
Ignore `*.tk` and `i.imgur.com`
|
|
|
|
!config supybot.plugins.SpiffyTitles.ignoredDomainPattern (\.tk|i\.imgur\.com)
|
|
|
|
`userAgents` - A comma separated list of strings of user agents randomly chosen when requesting.
|
|
|
|
`urlRegularExpression` - A regular expression used to match URLs. You shouldn't need to change this.
|
|
|
|
### FAQ ###
|
|
|
|
Q: Why not use the [Web](https://github.com/ProgVal/Limnoria/tree/master/plugins/Web) plugin?
|
|
|
|
A: My experience was that it didn't work very well and lacked the ability to customize the options
|
|
I wanted to change.
|
|
|
|
Q: What about [Supybot-Titler](https://github.com/reticulatingspline/Supybot-Titler) ?
|
|
|
|
A: I couldn't get this to work on my system and it has a lot of features I didn't want
|
|
|
|
Q: It doesn't work for me. What can I do?
|
|
|
|
A: [Open an issue](https://github.com/prgmrbill/limnoria-plugins/issues/new) and include at minimum the following:
|
|
|
|
- Brief description of the problem
|
|
- Any errors that were logged (Look for the ones prefixed "SpiffyTitles")
|
|
- How to reproduce the effect
|
|
- Any other information you think would be helpful
|