Metadata-Version: 2.1
Name: sopel_modules.youtube
Version: 0.5.2
Summary: YouTube plugin for Sopel
Home-page: https://github.com/sopel-irc/sopel-youtube
Author: dgw
Author-email: dgw@technobabbl.es
License: Eiffel Forum License, version 2
Description-Content-Type: text/markdown
License-File: COPYING
Requires-Dist: sopel<8,>=7.1
Requires-Dist: google-api-python-client<1.8,>=1.5.5; python_version < "3.6"
Requires-Dist: google-api-python-client<3,>=1.5.5; python_version >= "3.6"
Requires-Dist: setuptools

# sopel-youtube

Legacy YouTube info plugin for Sopel

## IMPORTANT

**This version of the plugin is no longer maintained. When you are ready to
upgrade to Sopel 8.0+, please uninstall `sopel-modules.youtube` and install
[`sopel-youtube`](https://pypi.org/project/sopel-youtube/) instead.**

## Installing

If possible, use `pip` to install this plugin. Below are example commands; you
might need to add `sudo` and/or call a different `pip` (e.g. `pip3`) depending
on your system and environment. Do not use `setup.py install`; Sopel won't be
able to load the plugin correctly.

### Published release

    pip install sopel_modules.youtube

### From source

    # Clone the repo, then run this in /path/to/sopel-youtube
    pip install .

## Getting your API key
Go to the [Google Developers Console](https://console.developers.google.com/)
and create an application. When it's created, go to the APIs section, select
the YouTube Data API and enable it. Then go to the Credentials section,
select "Add credentials", pick "API key", and then "Server key". You can enter
a name for it and limit the IPs it can be used from, but you don't have to.
Copy the value it gives you into the prompt in the config wizard, or the
`api_key` value of the config in the `[youtube]` section.

## Config settings
`sopel-youtube` supports Sopel's interactive configuration wizard:

    sopel-plugins configure youtube

The `api_key` option is self-explanatory (see above).

If video "watch" links contain a playlist ID, the plugin will show the
playlist info as well as the video info by default. To disable this, set
`playlist_watch` to `False`.

For videos, by default, only the video length, uploader (channel name), view
count, and upload date are shown. The included items, and the order in which
they appear, depend on the `info_items` setting, which is a list of keywords.
Unrecognized keywords are simply ignored. Supported `info_items` are:

* `comments` (comment count)
* `date` (upload time/date)
* `length` (duration)
* `likes` (count)
* `uploader` (channel name)
* `views` (view count)

### Legacy `info_items`
Prior to YouTube's removal of public dislike counts, there were two vote-related
`info_items`: `votes` and `votes_color`. These keywords are deprecated as of
`sopel-youtube` 0.4.3. They will function as aliases to the new `likes` keyword
until they are removed entirely in v0.5 or thereabouts.


Changes between 0.5.1 and 0.5.2
===============================
* Document `sopel_modules.youtube` end-of-life and transition to `sopel-youtube`

Changes between 0.5.0 and 0.5.1
===============================
* Fix hiding load-time import errors (#52)


Changes between 0.4.3 and 0.5.0
===============================
* Prep for Sopel 8:
  * Require Sopel 7.1+; Sopel 7.0 is no longer supported
  * Use `BooleanAttribute` setting type (#41)
  * Switch from `sopel.module` to `sopel.plugin` (#42)
* Format time according to the channel's preference, w/fallback to bot setting (#50)
* Permit newer `google-api-python-client` library versions (#51)


Changes between 0.4.2 and 0.4.3
===============================
* Remove handling of dislikes, which YouTube removed from its API (#45)
* Make live-stream handling more robust, again (#48)
* Replace `votes` and `votes_color` keywords in `info_items` with `votes` (#49)
  * The old keywords will function as aliases until at least plugin version 0.5.0


Changes between 0.4.1 and 0.4.2
===============================
* Improve error handling (#44)


Changes between 0.4.0 and 0.4.1
===============================
* Handle "shorts" links (#36)
* Be more careful about auto-playlists (#38)


Changes between 0.3.2 and 0.4.0
===============================
* Enhance live stream support (#28)
* Add playlist handling (#29, #33)
* Protect against bidirectional text (#31)


Changes between 0.3.1 and 0.3.2
===============================
* Clean up some problematic imports (#25)
* Request only the necessary data fields from YouTube API (#27)


Changes between 0.3.0 and 0.3.1
===============================
* Override handling of rare API errors reported to output the key (#23)


Changes between 0.2.1 and 0.3.0
===============================
* Allow configuring what video details to include (#18)
* Remove outdated, ugly colors on "[YouTube]" output tag (#21)
* Minor cleanup (regex patterns, package metadata)


Changes between 0.2.0 and 0.2.1
===============================
* Handle API sending wrongly formatted timestamps (#20)


Changes between 0.1.3 and 0.2.0
===============================
* Update for Sopel 7 (#15)


Changes between 0.1.2 and 0.1.3
===============================
* Add retry mechanic to API fetching (#11)
* Fix exception traceback sometimes thrown on reconnect (#14)
* Update ancient, deprecated usage of Sopel's memory API (#16)


Changes between 0.1.1 and 0.1.2
===============================
* Fix error when video comments are disabled
* Improve duration parser
* Restrict google-api-python-client to compatible version range
* Fix version-number import issue during installation


Changes between 0.1.0 and 0.1.1
===============================
* Output is colorized
* Fix configuration wizard
* pip installation works regardless of pip version
