All Projects → pmdevita → vredditshare

pmdevita / vredditshare

Licence: other
A Reddit bot that reuploads Reddit video

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to vredditshare

Walt
🎬 A Swift 3 library for creating gifs and videos from a series of images
Stars: ✭ 44 (+158.82%)
Mutual labels:  gifs
GTA-One-Liners
A collection of gifs made out of almost every dialogue in GTA and other games.
Stars: ✭ 37 (+117.65%)
Mutual labels:  gifs
comments-generator
A Reddit bot that generates new context-aware comments using Markov chains trained from a set of given users or subreddits comments history.
Stars: ✭ 63 (+270.59%)
Mutual labels:  reddit-bot
GiphyImageResultsPreview
Library for GIF results, preview, play, share everything at one place!
Stars: ✭ 28 (+64.71%)
Mutual labels:  gifs
gif-msg
Hide 127 bytes in a gif without touching any pixels or colors
Stars: ✭ 26 (+52.94%)
Mutual labels:  gifs
action-cats
A quick Github action which posts a cat gif on your PRs to reward you for pushing code!
Stars: ✭ 64 (+276.47%)
Mutual labels:  gifs
comfy-scenes
A rudimentary app for interactive Twitch scenes using Vue.js. It monitors your Twitch channel chat for !commands using Comfy.js (by instafluff and others), plays mp3 files, loads images, and interacts with Vue.js components.
Stars: ✭ 24 (+41.18%)
Mutual labels:  gifs
RepostCheckerBot
Bot for checking reposts on reddit
Stars: ✭ 36 (+111.76%)
Mutual labels:  reddit-bot
giftext
Convert texts to animated gifs
Stars: ✭ 44 (+158.82%)
Mutual labels:  gifs
MemeAdviser
A reddit bot that evaluates memes and predicts growth on r/MemeEconomy
Stars: ✭ 14 (-17.65%)
Mutual labels:  reddit-bot
FlutterLoadingGIFs
Loading indicator GIFs. Material and Cupertino (Android and iOS) loading indicators in assorted sizes. Use as placeholders for loading remote image assets. Demo: https://gallery.codelessly.com/flutterwebsites/loadinggifs/
Stars: ✭ 28 (+64.71%)
Mutual labels:  gifs
cronnit.com
A free tool for scheduling posts to Reddit.
Stars: ✭ 3 (-82.35%)
Mutual labels:  reddit-bot
mediaforge
A Discord bot for editing and creating videos, images, GIFs, and more!
Stars: ✭ 45 (+164.71%)
Mutual labels:  gifs
GifReversingBot
A Reddit bot that reverses gifs
Stars: ✭ 38 (+123.53%)
Mutual labels:  reddit-bot
sneakpeek
Reddit bot to preview and post hyperlinks as comments
Stars: ✭ 60 (+252.94%)
Mutual labels:  reddit-bot
context-mod
an event-based, reddit moderation bot built on top of snoowrap and written in typescript
Stars: ✭ 38 (+123.53%)
Mutual labels:  reddit-bot
giphy-react-native-sdk
GIPHY react native SDK
Stars: ✭ 28 (+64.71%)
Mutual labels:  gifs
alvito
Alvito - An Algorithm Visualization Tool for Python
Stars: ✭ 52 (+205.88%)
Mutual labels:  gifs
httriri
HTTRiRi - HTTP Status Codes as Portrayed by Rihanna GIFs ✨💄
Stars: ✭ 49 (+188.24%)
Mutual labels:  gifs
SKanimATE
Animated Flatground Skateboard Tricks
Stars: ✭ 18 (+5.88%)
Mutual labels:  gifs

vredditshare

Reddit bot that reuploads Reddit hosted video. Currently running under /u/vredditshare.

Setup

Create a file named credentials.ini in the root directory with the following content

[general]
mode = development|production
operator = username to be pinged on crash/other stuff

[database]
type = sqlite|mysql
# Settings for mysql
host = 
username =
password = 
database =

[reddit]
client_id = Reddit client id
client_secret = Reddit client secret
username = Reddit username
password = Reddit password

[imgur]
imgur_id = Imgur api id
imgur_secret = Imgur api secret
imgur_cookie = Cookie generated from an Imgur upload

[gfycat]
gfycat_id = gftcat id
gfycat_secret = gfycat secret

[streamable]
email = streamable account email
password = password

[catbox]
hash = your catbox account hash

From there run python main.py from the root directory to start. vredditshare requires Python 3.6+.

You will also need FFmpeg, FFprobe, and gifski binaries on the path or in the same directory.

Commentary

Here's some notes on the more interesting parts of the bot.

Context detection

The bot goes through a couple of steps to determine what the user was asking for. First thing it checks is whether or not the user gave a link in the summon comment themselves. Then it looks through the comment chain to see if there was a gif in the parent comments (it will choose the one last referenced in the chain). Finally, it checks the post for a link.

Reversing gifs/mp4s

vredditshare uses two different reversing procedures which it chooses based on a few different circumstances. If it is reversing an mp4 (which is the most common gif type nowadays, go figure), it does the reversal process with FFmpeg. For gifs, it exports each frame with FFmpeg and then reassembles them with gifski. Although gifski produces great gifs, it's very slow and so this process is usually avoided. The bot chooses a reversal method by making an educated guess as to whether the source was originally a gif or an mp4.

Gif Host Library

v3 of vredditshare introduces the new Gif Host Library, a new implementation of the code used to describe gifs and hosting websites. It aims to share as much code as possible between the sites, reducing implementation efforts as well as surface area for bugs. Hosts define several properties such as how to parse their links, upload capabilities,and limits. Instead of hard coding where the bot should upload gifs for every host, it is now decided dynamically through the properties of a gif, limits of the hosting sites, and other priorities. It's fairly sturdy even though it's new and abstracts away many annoyances, differences, and difficulties managing the gif host sites.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].