Discord bot that clips on-going youtube and twitch livestreams.
Clips are un-reencoded and at full resolution.
Usage guide available at: https://odieldomanie.github.io/callipper/
Discord bot that can post clips of livestreams.
License: MIT License
Discord bot that clips on-going youtube and twitch livestreams.
Clips are un-reencoded and at full resolution.
Usage guide available at: https://odieldomanie.github.io/callipper/
A video is allowed if either:
This happens when the "Download" option is used on Chrome.
New discord interactions (buttons, modals) should be explored.
At the very least, a โช
reaction can be used to stretch the beginning of a clip by some fixed amount.
Currently, the way to stop capturing the streams is either wait for it to end (a problem with long running streams), ot use unregister
or rerun register
, which is clunky.
Sample from the help text:
Sample Usage:
!c | clip the last 10 seconds
doesn't make much sense if the prefix is not !
Have a command system to restrict commands and categories to chosen text-channels and roles. This should replace the current permission system.
Use Holodex's API for eligible channels to receive event of when they go live, instead of polling youtube repeatedly.
Either with the url, or the name alias.
Timing from end of the stream prevents potential timing problems if the download was cut for a period.
Should be possible by progressively punching holes in the downloaded files.
Holodex API can be used to get url's from streamer name aliases.
The Holodex API sometimes does not return the 'start_actual'
field.
README should include:
This should reduce the need for restart for updating.
When a clip command is edited in Discord, the posted clip should be deleted and reposted with the edited times.
In the logs,
Terlick, roles [<Role id=293831779473686529 name='@everyone'>, <Role id=946062879336038480 name='clipper person'>, <Role id=867867456869367838 name='admin'>], tried register.
should instead show as
Terlick tried register. Roles: '@everyone', 'clipper person', 'admin'
.
is manserv or owner
should also be omitted.
register
should only accept a valid url.
Complete and make look better the help texts for the help
command with no argument, with cog argument, with command argument and the subcommand of clip
as argument.
Help with no argument should include a summary and examples. Help text for other commands should also include examples. No item should show up as "uncategorized".
To accommodate new features and increase stability.
Cropped rectangles that are overlapping or too close should be merged into a larger rectangle.
Using the Holodex API has the attribution conditions that should be obliged to: https://holodex.stoplight.io/docs/holodex/ZG9jOjM4ODA4NzA-license
The youtube-dl process should be started with high priority to not affect the download by CPU usage spikes caused by clipping.
Invalid times in command arguments are probably the most common cause of this error, so they should be handled similarly.
"unregister" command replies with "No channel registered on {txt_channel}.", and does not unregister.
The bot trying to send a message without send message permissions encounter the following error:
CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
This is printed to stderr; it should instead be silently omitted, or logged.
For example, with a stream with underscores in the title:
How it looks:
Capturing stream: stream title
How it should be:
Capturing stream: _stream title_
Support for twitch for stream
command.
-ss
before -i
does not work on .part
files from twitch for some reason, but -sseof
, and -ss
after -i
works.
The start_actual
value is sometimes not returned. This should be fixed by
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.