<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-CA">
	<id>https://wiki.sponsor.ajay.app/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robb</id>
	<title>SponsorBlock - User contributions [en-ca]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sponsor.ajay.app/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robb"/>
	<link rel="alternate" type="text/html" href="https://wiki.sponsor.ajay.app/w/Special:Contributions/Robb"/>
	<updated>2026-05-15T16:45:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sponsor.ajay.app/index.php?title=Advanced_skip_options&amp;diff=4529</id>
		<title>Advanced skip options</title>
		<link rel="alternate" type="text/html" href="https://wiki.sponsor.ajay.app/index.php?title=Advanced_skip_options&amp;diff=4529"/>
		<updated>2026-03-13T17:33:26Z</updated>

		<summary type="html">&lt;p&gt;Robb: /* More examples */ Add example of conditionally auto-skipping to highlights&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Advanced skip options&#039;&#039;&#039; can be used to change the skip options depending on certain criteria of the submission itself.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
// Skip sponsors at the start of the video&lt;br /&gt;
if time.start &amp;lt; 1 and time.end &amp;lt; 10 and category == &amp;quot;sponsor&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Each rule consists of the word &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, a condition, and an action.&lt;br /&gt;
&lt;br /&gt;
Conditions can be checks of the form &amp;lt;code&amp;gt;&amp;lt;attribute&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;value&amp;gt;&amp;lt;/code&amp;gt; (for example, &amp;lt;code&amp;gt;time.start &amp;lt; 1&amp;lt;/code&amp;gt;), or nested expressions using the &amp;lt;code&amp;gt;and&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;not&amp;lt;/code&amp;gt; operators.&lt;br /&gt;
&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
The following attributes are supported:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time.start&amp;lt;/code&amp;gt; (when the segment starts in the video in seconds)&lt;br /&gt;
* &amp;lt;code&amp;gt;time.end&amp;lt;/code&amp;gt; (when the segment ends in the video in seconds)&lt;br /&gt;
* &amp;lt;code&amp;gt;time.duration&amp;lt;/code&amp;gt; (how long the segment is in seconds)&lt;br /&gt;
* &amp;lt;code&amp;gt;time.startPercent&amp;lt;/code&amp;gt; (when the segment starts in the video as a percentage)&lt;br /&gt;
* &amp;lt;code&amp;gt;time.endPercent&amp;lt;/code&amp;gt; (when the segment ends in the video as a percentage)&lt;br /&gt;
* &amp;lt;code&amp;gt;time.durationPercent&amp;lt;/code&amp;gt; (how long the segment is as a percentage of the total video length)&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;actionType&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chapter.name&amp;lt;/code&amp;gt; (the title for chapters)&lt;br /&gt;
* &amp;lt;code&amp;gt;chapter.source&amp;lt;/code&amp;gt; (to separate SponsorBlock chapters from YouTube chapters)&lt;br /&gt;
* &amp;lt;code&amp;gt;channel.id&amp;lt;/code&amp;gt; (ID starting with &amp;lt;code&amp;gt;UC&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;channel.name&amp;lt;/code&amp;gt; (plain text name with spaces)&lt;br /&gt;
* &amp;lt;code&amp;gt;video.duration&amp;lt;/code&amp;gt; (the length of the video in seconds)&lt;br /&gt;
* &amp;lt;code&amp;gt;video.title&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Operators ===&lt;br /&gt;
The following operators are supported:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;!=&amp;lt;/code&amp;gt; (not equal)&lt;br /&gt;
* &amp;lt;code&amp;gt;*=&amp;lt;/code&amp;gt; (contains text ignore case)&lt;br /&gt;
* &amp;lt;code&amp;gt;!*=&amp;lt;/code&amp;gt; (not contains ignore case)&lt;br /&gt;
* &amp;lt;code&amp;gt;~=&amp;lt;/code&amp;gt; (matches regex)&lt;br /&gt;
* &amp;lt;code&amp;gt;~i=&amp;lt;/code&amp;gt; (matches regex ignore case)&lt;br /&gt;
* &amp;lt;code&amp;gt;!~=&amp;lt;/code&amp;gt; (doesn&#039;t match regex)&lt;br /&gt;
* &amp;lt;code&amp;gt;!~i=&amp;lt;/code&amp;gt; (doesn&#039;t match regex ignore case)&lt;br /&gt;
&lt;br /&gt;
=== Actions ===&lt;br /&gt;
The following actions are supported:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Disabled&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Show overlay&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Manual skip&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Auto skip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unlike other words in the format, actions are case-insensitive.&lt;br /&gt;
&lt;br /&gt;
=== Categories ===&lt;br /&gt;
The following categories are supported:&lt;br /&gt;
&lt;br /&gt;
* {{Category|sponsor|text=&amp;lt;code&amp;gt;sponsor&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|sponsor}}]])&lt;br /&gt;
* {{Category|selfpromo|text=&amp;lt;code&amp;gt;selfpromo&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|selfpromo}}]])&lt;br /&gt;
* {{Category|exclusive_access|text=&amp;lt;code&amp;gt;exclusive_access&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|exclusive access}}]])&lt;br /&gt;
* {{Category|interaction|text=&amp;lt;code&amp;gt;interaction&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|interaction reminder}}]])&lt;br /&gt;
* {{Category|poi_highlight|text=&amp;lt;code&amp;gt;poi_highlight&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|highlight}}]])&lt;br /&gt;
* {{Category|intro|text=&amp;lt;code&amp;gt;intro&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|intro}}]])&lt;br /&gt;
* {{Category|outro|text=&amp;lt;code&amp;gt;outro&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|endcards}}]])&lt;br /&gt;
* {{Category|preview|text=&amp;lt;code&amp;gt;preview&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|preview}}]])&lt;br /&gt;
* {{Category|hook|text=&amp;lt;code&amp;gt;hook&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|hook}}]])&lt;br /&gt;
* {{Category|filler|text=&amp;lt;code&amp;gt;filler&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|tangents}}]])&lt;br /&gt;
* {{Category|chapter|text=&amp;lt;code&amp;gt;chapter&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|chapter}}]])&lt;br /&gt;
* {{Category|music_offtopic|text=&amp;lt;code&amp;gt;music_offtopic&amp;lt;/code&amp;gt;|nolink=1}} ([[{{Category page|nonmusic}}]])&lt;br /&gt;
&lt;br /&gt;
=== Chapter sources ===&lt;br /&gt;
The following &amp;lt;code&amp;gt;chapter.source&amp;lt;/code&amp;gt; values are supported:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;server&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;youtube&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;autogenerated&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More examples ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
// Auto skip chapters that contain the word bloopers (case insensitive)&lt;br /&gt;
if category == &amp;quot;chapter&amp;quot; and chapter.name *= &amp;quot;bloopers&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip chapters that start with the word Intro or intro&lt;br /&gt;
if category == &amp;quot;chapter&amp;quot; and chapter.name ~= &amp;quot;^[Ii]ntro&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip chapters that start with the word Intro or intro but only if they are made by the YouTuber&lt;br /&gt;
if category == &amp;quot;chapter&amp;quot; and chapter.name ~= &amp;quot;^[Ii]ntro&amp;quot; and chapter.source == &amp;quot;youtube&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip chapters that start with the word Intro or intro but only if they are submitted by a SponsorBlock user&lt;br /&gt;
if category == &amp;quot;chapter&amp;quot; and chapter.name ~= &amp;quot;^[Ii]ntro&amp;quot; and chapter.source == &amp;quot;server&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip preview/recap on this specific channel&lt;br /&gt;
if category == &amp;quot;preview&amp;quot; and channel.id == &amp;quot;UCX8wm5-NEzN-eL-DNcsRRJA&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip intros on channels with names containing trains&lt;br /&gt;
if category == &amp;quot;intro&amp;quot; and channel.name *= &amp;quot;trains&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip tangent/jokes or hooks at least 5 seconds long&lt;br /&gt;
if (category == &amp;quot;filler&amp;quot; or category == &amp;quot;hook&amp;quot;) and time.duration &amp;gt;= 5&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
// Auto skip directly to highlights on channels with names containing trains&lt;br /&gt;
if category == &amp;quot;poi_highlight&amp;quot; and channel.name *= &amp;quot;trains&amp;quot;&lt;br /&gt;
Auto skip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ebnf&amp;quot;&amp;gt;&lt;br /&gt;
rule set = { rule };&lt;br /&gt;
rule = { comment }, &amp;quot;if&amp;quot;, predicate, skip option;&lt;br /&gt;
&lt;br /&gt;
comment = &amp;quot;//&amp;quot;, ? rest of line ?;&lt;br /&gt;
&lt;br /&gt;
predicate = or;&lt;br /&gt;
or = and, { &amp;quot;or&amp;quot;, and };&lt;br /&gt;
and = unary, { &amp;quot;and&amp;quot;, unary };&lt;br /&gt;
unary = &amp;quot;not&amp;quot;, unary | primary;&lt;br /&gt;
primary = &amp;quot;(&amp;quot;, predicate, &amp;quot;)&amp;quot; | check;&lt;br /&gt;
check = attribute, operator, value;&lt;br /&gt;
&lt;br /&gt;
attribute = &amp;quot;time.startPercent&amp;quot; | &amp;quot;time.start&amp;quot; | &amp;quot;time.endPercent&amp;quot; | &amp;quot;time.end&amp;quot; | &amp;quot;time.durationPercent&amp;quot; | &amp;quot;time.duration&amp;quot; | &amp;quot;category&amp;quot; | &amp;quot;actionType&amp;quot; | &amp;quot;chapter.name&amp;quot; | &amp;quot;chapter.source&amp;quot; | &amp;quot;channel.id&amp;quot; | &amp;quot;channel.name&amp;quot; | &amp;quot;video.duration&amp;quot; | &amp;quot;video.title&amp;quot;;&lt;br /&gt;
operator = &amp;quot;&amp;lt;=&amp;quot; | &amp;quot;&amp;lt;&amp;quot; | &amp;quot;&amp;gt;=&amp;quot; | &amp;quot;&amp;gt;&amp;quot; | &amp;quot;!=&amp;quot; | &amp;quot;==&amp;quot; | &amp;quot;!*=&amp;quot; | &amp;quot;*=&amp;quot; | &amp;quot;!~=&amp;quot; | &amp;quot;~=&amp;quot; | &amp;quot;!~i=&amp;quot; | &amp;quot;~i=&amp;quot;;&lt;br /&gt;
value = ? JSON string ? | ? JSON number ?;&lt;br /&gt;
&lt;br /&gt;
(* skip options are case-insensitive *)&lt;br /&gt;
skip option = &amp;quot;disabled&amp;quot; | &amp;quot;show overlay&amp;quot; | &amp;quot;manual skip&amp;quot; | &amp;quot;auto skip&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robb</name></author>
	</entry>
</feed>