Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ Zbiorek memów o Zbyszku Stonodze.
W głównym folderze repozytorium znajduje się plik data.json. Na jego podstawie możesz napisać skrypt losujący obrazki. Podano najmniejszy numer obrazka, największy, adres URL oraz rozszerzenie pliku.

# Jak używać? Chcę pobierać memy!
W folderze "downloaders" znajduje się kilka plików przypisanych do odpowiedniej strony. Obecnie obsługiwane są Blasty oraz Kwejk. Najpierw odpal plik FETCH, potem plik GET. Oczywiście wymagane jest posiadanie środowiska Node oraz zainstalowania paczek z packages.json.
~~W folderze "downloaders" znajduje się kilka plików przypisanych do odpowiedniej strony. Obecnie obsługiwane są Blasty oraz Kwejk. Najpierw odpal plik FETCH, potem plik GET. Oczywiście wymagane jest posiadanie środowiska Node oraz zainstalowania paczek z packages.json.~~

Od teraz wystarczy odpalić plik Zbysiator1.0.bat, wybrać opcje 7. Poczekac na dokonczenie instalacji, po czym również zbysiatorem fetchujemy memy (opcje 1 i 2), a na sam koniec - getujemy (opcje 3 i 4). I super! Twoje memy od teraz znajduja sie w /memes/

# Jak pomóc?
Możesz podać jakieś inne źródło memów, które ma zebrane memy np. w jednym tagu czy folderze. Dzięki temu dodam je do "downloaders", a memy z tych stron również pojawią się w tym repo.
Expand All @@ -18,6 +20,7 @@ Polecam plik LICENSE.

# Historia wersji:
- 1.0 - Pobrano łącznie 145 obrazków z 2 serwisów. Stan na 31 lipca 2020r.
- 1.1 - Dodano zbysiatora

# Korzystasz z tego API?
Utwórz nowy issue na GitHubie z nazwą bota/projektu i linkiem do niego. Zostanie umieszczony w Hali Sław.
Expand Down
53 changes: 53 additions & 0 deletions Zbysiator1.0.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
@ECHO off
cls
title Zbysiator 1.0
:startmenu
echo ==============
echo Witaj w Zbysiatorze 1.0!
echo Projekt stworzony przez: MrBoombastic
echo ja tu tylko sprzatam ~ mafinek
echo Wybierz co chcesz zrobic
echo 1. Fetch Blasty
echo 2. Fetch Kwejk
echo 3. Get Blasty
echo 4. Get Kwejk
echo 5. Renamer
echo 6. Randomer
echo 7. Instalacja

set /p wybieram:={1;2;3;4;5;6;7}:
if %wybieram:%==1 goto fetchblasty
if %wybieram:%==2 goto fetchkwejk
if %wybieram:%==3 goto getblasty
if %wybieram:%==4 goto getkwejk
if %wybieram:%==5 goto renamer
if %wybieram:%==6 goto randomer
if %wybieram:%==7 goto instalacja

:fetchblasty
node downloaders/blastyFETCH.js
goto startmenu

:fetchkwejk
node downloaders/kwejkFETCH.js
goto startmenu

:getblasty
node downloaders/blastyGET.js
goto startmenu

:getkwejk
node downloaders/kwejkGET.js
goto startmenu

:renamer
node downloaders/renamer.js
goto startmenu

:randomer
node random.js
goto startmenu

:Instalacja
npm i
goto startmenu
5 changes: 2 additions & 3 deletions downloaders/blastyFETCH.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ let pages = 3 //hardcodowane 3 strony, :(
for (let i = 1; i <= pages; i++) {
fetch(`https://www.blasty.pl/tag/zbigniew-stonoga/${i}`).then(async a => {
console.log(i)
a = a.text()
a = await a
a = await a.text()
a = a.replace(/<img/g, "\n<img")
a.split(/\r\n|\r|\n/).forEach(c => {
if (c.includes("src=\"https://www.blasty.pl/upload/images/large")) {
Expand All @@ -21,4 +20,4 @@ for (let i = 1; i <= pages; i++) {
setTimeout(function () {
fs.writeFileSync("./blasty.json", JSON.stringify(images, null, 3))
console.log("Zapisano URLe memów do Dżejsona.")
}, 15 * 1000)
}, 15 * 1000)
2 changes: 1 addition & 1 deletion downloaders/blastyGET.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ let i = 0
list.forEach(a=>{
fetch(a).then(async img =>{
img = await img.buffer()
fs.writeFileSync(`../memes/blasty${i}.jpg`, img)
fs.writeFileSync(`./memes/blasty${i}.jpg`, img)
i++
})
})
5 changes: 2 additions & 3 deletions downloaders/kwejkFETCH.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ fetch("https://kwejk.pl/tag/stonoga").then(async a => {
for (let i = 1; i <= pages; i++) {
fetch(`https://kwejk.pl/tag/stonoga/strona/${i}`).then(async b => {
console.log(`Zbieranie strony ${i} z ${pages}.`)
b = b.text()
b = await b
b = await b.text()
b = b.replace(/<img width/g, "\n<img width")
b.split(/\r\n|\r|\n/).forEach(c => {
if (c.includes("@load=\"imageLoaded\" src=\"https://i1.kwejk.pl/k/obrazki/")) {
Expand All @@ -28,4 +27,4 @@ fetch("https://kwejk.pl/tag/stonoga").then(async a => {
setTimeout(function () {
fs.writeFileSync("./kwejk.json", JSON.stringify(images, null, 3));
console.log("Zapisano URLe memów do Dżejsona.")
}, 15 * 1000)
}, 15 * 1000)
2 changes: 1 addition & 1 deletion downloaders/kwejkGET.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ let i = 0
list.forEach(a=>{
fetch(a).then(async img =>{
img = await img.buffer()
fs.writeFileSync(`../memes/kwejk${i}.jpg`, img)
fs.writeFileSync(`./memes/kwejk${i}.jpg`, img)
i++
})
})
4 changes: 2 additions & 2 deletions downloaders/renamer.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
//UPEWNIJ SIĘ, ŻE PRZED POBRANIEM NOWYCH MEMÓW FOLDER MEMES JEST PUSTY!
const fs = require("fs")
const files = fs.readdirSync("../memes")
const files = fs.readdirSync("./memes")
let i = 0
for(let file of files) {
fs.renameSync("../memes/" + file, `../memes/${i}.jpg`)
fs.renameSync("./memes/" + file, `./memes/${i}.jpg`)
++i
}
13 changes: 13 additions & 0 deletions random.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const exec = require("child_process").exec;
const fs = require("fs")
const files = fs.readdirSync("./memes")
let array = [] /* wiem, pewnie mozna lepiej */
for(let file of files) {
array.push(file)
}

if(array.length < 10) return console.log('W folderze z memami musi znajdowac sie co najmniej 10 smiesznych obrazków.')

console.log('Otwieranie losowego meme');

exec(`start ./memes/${array[Math.floor(Math.random() * array.length)]}`)