Skip to main content

a python library for youtube blocking function.

Project description

pytblocklib

Overview

( This project is under development. )
Pytblocklib is an library for blocking spam bots on YouTube.

Pytblocklib は、Youtubeのスパムボットのブロックを補助するライブラリです。
YouTube API設定不要、リスナー側のブロックにも対応しています。
詳細はwiki を参照してください。

  • YouTubeの仕様変更等により使用できなくなる場合があります。
  • 使用に際しては自己責任でお願いいたします。
  • LICENSE:LGPL-3.0

Description

Pytblocklibs's goal is to provide easy blocking operation on YT.
You can concentrate on thinking block algorithms.
Function around livechat is based on my pytchat script.

Features:

  • Functions focused on blocks, light weight, easy operation.
  • You can block as a listener. (not need to give or take moderator privileges)
  • No Scraping, no Selenium, no BeautifulSoup.

Install

pip install pytblocklib

Example

from pytblocklib import Watcher
import time

w = Watcher("video_id")

NG_WORDS = ['NG_WORD1','NG_WORD2']
blocklist = []

w.start()

#Start checking loop
while w.loop():
    #Get chat list from buffer
    chats = w.get_chats()

    for chat in chats:
        if any(ng_word in chat.message or ng_word in chat.author_name  
            for ng_word in NG_WORDS):
            print("Found :message-`{}` by {} ".format(
                chat.message, chat.author_name))
            #Block user by specifying author channel id.
            w.block(chat.author_id)
            blocklist.append(chat.author_id)

    time.sleep(3)

#Example: Unblock all blocked users (only available during executing script)
for author_id in blocklist:
    w.unblock(author_id)


w.stop()

Derived app

AutoBlocker by sayamame_beans

Compatible environment

  • Python 3.7.4 later
  • OS : Windows 10 / macOS Catalina / Ubuntu 18.04.2 LTS
  • Browser: Chrome v80 later / Firefox 75.0 later (requires browser cookie)

VS

Nightbot

  • Pros

    • Sophisticated user interface on browser, integrated functions.
    • Applicable for Twitch.
    • Various blocking setting (e.g. blacklist, excess emotes, repetitions)
  • Cons

    • Only srteamers can block spams on their broadcasting with moderator privileges, not per listener.

YouTube Studio

  • Pros

    • Official features.
    • Various blocking setting (e.g. specify channel id, prohibited words)
  • Cons

    • Only srteamers can block spams on their broadcasting with owner/moderator privileges, not per listener.

Pytblocklib

  • Pros

    • No need for YT API settings.
    • Simple - functions focused on blocking spams.
    • You can customize the blocking algorithm with a python script.
    • You can block spams as a listener. (not need to give or take moderator privileges)
  • Cons

    • Need to implement blocking procedures and user interface separately.
    • Less portability : requires python environment.

Using

This program uses a customized browser_cookie3 library.
The original copyright of browser_cookie 3 belongs to borisbabic :
https://github.com/borisbabic/browser_cookie3

LICENSE

GNU LESSER GENERAL PUBLIC LICENSE Version 3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pytblocklib-0.1.8-py3-none-any.whl (34.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page