Jak zbudować zdjęcie Tweetującego bota na Twitterze za pomocą Raspberry Pi i Node.js

  • Michael Cain
  • 2
  • 2922
  • 294
Reklama

Szukasz sposobu na uczynienie Twittera bardziej użytecznym, choćby dla innych osób? Jednym ze sposobów jest utworzenie automatycznego bota Twittera, który tweetuje obrazy z przydatnymi opisami. Możesz to zrobić ręcznie… lub możesz zbudować go za pomocą Node.js i hostować na Raspberry Pi. Czytaj dalej, aby dowiedzieć się, jak to zrobić.

Po co budować bota na Twitterze?

Jeśli kiedykolwiek byłeś na Twitterze i widziałeś konta, które publikują zdjęcia, fakty, kreskówki itp., To jest bardzo prawdopodobne, że są one zautomatyzowane. To świetny sposób na zbudowanie grona odbiorców zainteresowanych tym samym tematem.

Ale jest jeszcze jeden powód, poza retweetowaniem i następstwami. Zbudowanie bota na Twitterze nauczy Cię przydatnych umiejętności programistycznych. Wcześniej zastanawialiśmy się, jak zbudować podstawowego bota Twittera za pomocą Pythona Jak zbudować Raspberry Pi Twitter Bot Jak zbudować Raspberry Pi Twitter Bot Twitter to największe na świecie repozytorium krótkich wiadomości od osób, które nie mają nic do powiedzenia - a teraz ty również może przyczynić się do tego epickiego projektu dzięki zautomatyzowanemu botowi na Twitterze, zasilanemu przez Twój Raspberry… (również na Raspberry Pi), ale tym razem przyjmujemy inne podejście.

W tym projekcie wykorzystamy Node.js do zbudowania bota do tweetowania zdjęć na Raspberry Pi. Zdjęcia będą zdjęciami z pierwszej wojny światowej, wraz z krótkim zdaniem i przypisaniem). Informacje te będą przechowywane w tablicy, podstawowej bazie danych. Czym w każdym razie jest baza danych? [MakeUseOf wyjaśnia] Więc czym jest baza danych? [MakeUseOf wyjaśnia] Dla programisty lub entuzjasty technologii koncepcja bazy danych jest czymś, co naprawdę można uznać za coś oczywistego. Jednak dla wielu osób sama koncepcja bazy danych jest nieco obca… .

Rozpocznij: Zbuduj swoją bazę danych

Jeśli chcesz zbudować robota tweetującego zdjęcia, musisz zacząć od zebrania zdjęć, które chcesz udostępnić. Powinny to być twoje obrazy lub te, które nabyłeś na licencji Creative Commons lub innej licencji typu open source.

Powinieneś również zanotować informacje o autorze i inne informacje, które chcesz dołączyć do zdjęć. Wrócimy do tych informacji później, gdy bot będzie działał.

Zainstaluj Node.js na Raspbian

Rozpocznij od zainstalowania Node.js. Powinieneś już mieć zainstalowany Raspberry Pi z zainstalowanym Raspbian Jak zainstalować system operacyjny na Raspberry Pi Jak zainstalować system operacyjny na Raspberry Pi Oto jak zainstalować system operacyjny na Raspberry Pi i jak sklonować swój idealny Konfiguracja szybkiego odzyskiwania po awarii. . Do tego projektu zalecamy Raspberry Pi 2 lub nowszy; projekt został przetestowany na Raspberry Pi 3 B + Jak zdecydować, czy potrzebujesz nowego modelu Raspberry Pi 3 B + Jak zdecydować, czy potrzebujesz nowego modelu Raspberry Pi 3 B + Nowa wersja Raspberry Pi 3 B + została wydana. Ile to kosztuje, jaką twardą specyfikację ma i czy poprawi twoje istniejące projekty? Mamy odpowiedzi. .

W terminalu (lub przez SSH VNC, SSH i HDMI: trzy opcje przeglądania Raspberry Pi VNC, SSH i HDMI: trzy opcje przeglądania Raspberry Pi Raspberry Pi to niezwykły mały komputer, ale jego ustawienie może być czasochłonne i podłącz go do monitora.), zaktualizuj listę pakietów systemowych i zaktualizuj do najnowszej wersji:

sudo apt-get update sudo apt-get dist-upgrade

Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie i poczekaj na aktualizację Pi. Po zakończeniu uruchom ponownie za pomocą

sudo restart

Kiedy skończysz, użyj curl, aby pobrać Node.js:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Następnie zainstaluj za pomocą

sudo apt-get install -y nodejs

Po zakończeniu uruchom test, aby upewnić się, że oprogramowanie zostało poprawnie zainstalowane. Najłatwiej jest sprawdzić numer wersji:

węzeł -v

Odpowiedź powinna wyglądać podobnie do v8.11.3 (lub wyższej). Jeśli zobaczysz coś takiego, możesz być pewien, że Node.js jest gotowy do użycia.

Zbuduj swojego bota na Twitterze

Następnym etapem jest wprowadzenie kodu, który utworzy bota. Rozpocznij od utworzenia katalogu:

mkdir twitterbot

Następnie zmień go na nowy katalog dla bota:

cd twitterbot

Tutaj utwórz plik o nazwie server.js

sudo nano server.js

W tym pliku wprowadź pojedynczy wiersz:

console.log („Jestem botem na Twitterze!”);

naciśnij Ctrl + X aby zapisać i wyjść, a następnie uruchom skrypt:

węzeł „/home/pi/twitterbot/server.js”

To powinno zwrócić frazę “Jestem botem na Twitterze!”. Teraz, gdy potwierdziłeś, że to działa, czas zainstalować bibliotekę Twit za pomocą npm ( Menedżer pakietów węzłów). Upewnij się, że jest to zainstalowane, wprowadzając:

npm -v

Ponownie powinien zostać wyświetlony numer wersji.

Śledź to za pomocą:

npm init

Zaczyna się od pytania o informacje na temat tworzonej aplikacji Node.js. Domyślne opcje są wyświetlane (tak jak to), więc możesz po prostu dotknąć Enter, aby je zaakceptować. Możesz również wprowadzić własne dane. Po zakończeniu tej konfiguracji zostaniesz poproszony o potwierdzenie szczegółów “tak”.

Kolejnym etapem jest instalacja modułu Twit z npm.

npm install twit --save

Poczekaj, aż pliki zostaną pobrane do podkatalogu node_modules. Po zakończeniu otwórz ponownie plik server.js w nano.

sudo nano server.js

Tutaj usuń polecenie, które wprowadziłeś wcześniej, zastępując je:

var fs = wymagają ('fs'), ścieżka = wymaga ('ścieżka'), Twit = wymaga ('twit'), config = wymaga (path.join (__ nazwa_katalogu, 'config.js'));

Zapisz i wyjdź jak poprzednio.

Utwórz aplikację na Twitterze

Aby zbudować działającego bota na Twitterze, musisz utworzyć aplikację na Twitterze. Jest to prosty proces, który wymaga uprzedniej rejestracji nowego konta na Twitterze. Pamiętaj, że wymaga to również numeru telefonu do zweryfikowania konta, a gdy to zrobisz, przejdź do developer.twitter.com, aby utworzyć aplikację.

Jeśli nie masz konta programisty, może to zająć trochę czasu, ponieważ wymagana jest pewna ilość wypełnienia formularza. Jest to krok, który Twitter zrobił, aby uniknąć spamu, więc nie spiesz się i dokładnie odpowiedz na pytania.

Kliknij Utwórz aplikację, i dodaj szczegóły zgodnie z żądaniem. W momencie pisania tego tekstu system programisty przechodzi remont, więc może być konieczne poczekanie kilku dni (i udzielenie odpowiedzi na dodatkowe pytania).

Następnie przejdź do Klucze i tokeny tab i poniżej Uprawnienia znaleźć Uprawnienie dostępu i upewnij się, że jest ustawiony na Czytaj i pisz (posługiwać się Edytować Jeśli nie). Następnie przełącz się na Klucze i Tokeny i zanotuj:

  • Klucz klienta
  • Tajemnica konsumencka

W obszarze Token dostępu kliknij Stwórz generować:

  • Token dostępu
  • Uzyskaj dostęp do tokena tajnego

Są to klucze API, których będziesz potrzebować, aby dać botowi dostęp do twojego konta na Twitterze.

Z powrotem w wierszu poleceń utwórz config.js w nano:

sudo nano config.js

Dodaj następujące

var config = klucz_użytkownika: „XXXXX”, sekret_użytkownika: „XXXXX”, token dostępu: „XXXXX”, klucz_tokenu dostępu: „XXXXX” module.exports = config;

Tam, gdzie jest napisane „XXXXX”, zastąp własne odpowiednie szczegóły klucza API.

Zapisz i wyjdź, a następnie otwórz server.js.

sudo nano server.js

Tutaj dołącz następujące linie na końcu pliku:

var T = nowy Twit (config); T.post („statusy / aktualizacja”, status: „Mój pierwszy tweet!”, Funkcja (err, dane, odpowiedź) console.log (dane));

To powinno wyglądać tak:

Ponownie zapisz i wyjdź, a następnie w wierszu polecenia wpisz

węzeł server.js

Otwórz konto na Twitterze w przeglądarce, aby zobaczyć wyniki:

Potwierdziłeś, że bot tweetuje, więc czas dać mu coś do roboty!

Utwórz swój folder obrazów

Aby ćwierkać zdjęcia, skopiuj zebrane obrazy do folderu (zwykle o nazwie obrazy). Zacznij od kilkunastu.

Następnie wróć do dokumentu server.js:

sudo nano server.js

Tutaj usuń kod, który wysłał tweet, wiersz rozpoczynający się T.post („statusy / aktualizacja”).

Następnie zamień to na funkcję o nazwie random_from_array. Spowoduje to wybranie losowego obrazu z folderu obrazów.

funkcja random_from_array (images) return images [Math.floor (Math.random () * images.length)]; 

Gdy to zrobisz, musisz dodać drugą funkcję, upload_random_image:

funkcja upload_random_image (images) console.log („Otwieranie obrazu…”); var ścieżka_obrazu = ścieżka.join (__ nazwa_diru, '/ images /' + random_from_array (obrazy)), b64content = fs.readFileSync (ścieżka_obrazu, kodowanie: 'base64'); console.log („Przesyłanie obrazu…”); T.post ('media / upload', media_data: b64content, funkcja (err, dane, odpowiedź) if (err) console.log ('ERROR:'); console.log (err); else  console.log („Obraz przesłany!”); console.log („Teraz tweetujesz…”); T.post („statusy / aktualizacja”, media_ids: new Array (data.media_id_string), funkcja (err, dane , response) if (err) console.log ('ERROR:'); console.log (err); else console.log ('Wysłano obraz!'););); 

Ta funkcja losowo wybiera obraz z folderu obrazów, a po wybraniu jest przesyłana do Twittera za pomocą interfejsu API media / upload.

Następnie dodaj następujący kod. Znajduje to katalog obrazów i pobiera z niego obraz, publikując jeden losowo co 60 sekund. Możesz (i powinieneś) edytować ten czas, który jest reprezentowany w kodzie za pomocą liczby 60000. Wskazane są dłuższe przerwy.

 setInterval (function () upload_random_image (obrazy);, 60000); );

Zapisz to za pomocą Ctrl + X, następnie Tak, aby zapisać. (Pełny kod tego projektu można znaleźć na GitHub).

Pojedyncze użycie węzeł server.js polecenie poprosi zdjęcia o rozpoczęcie tweetowania! (Jeśli musisz zakończyć posty, naciśnij Ctrl + Z aby anulować skrypt server.js).

Dodawanie tekstu do twoich tweetów ze zdjęciami

Jeśli chcesz dodać tekst do swoich zdjęć, możesz to zrobić za pomocą tablicy. Tablica będzie odnosić się do nazw plików obrazów i wyświetla tekst, który należy dodać. Na przykład możesz dodać atrybucję do zdjęć, których nie zrobiłeś. Lub możesz dodać kilka faktów lub cytat.

Rozpocznij od utworzenia images.js

sudo nano images.js

Tutaj dodaj następujący kod. Jest to tablica z dwoma elementami, plikiem i źródłem. Przechowują one nazwę pliku obrazu i informację o atrybucji (zazwyczaj adres URL).

var images = [plik: „image0001.png”, źródło: „http://www.example.com/image0001.png”, plik: „image0002.png”, źródło: „http: // www. przyklad.com/image0002.png ',]

Powtórz w razie potrzeby dla każdego obrazu, a następnie zakończ plik images.js:

module.exports = obrazy;

Zapisz i zamknij plik, a następnie ponownie otwórz server.js i dodaj to do listy zmiennych:

images = wymaga (path.join (__ nazwa_katalogu, „images.js”));

Zapisz i wyjdź, a następnie ponownie uruchom bota Twittera za pomocą węzeł server.js rozkaz jeszcze raz.

Możesz także użyć “źródło” pole, aby dołączyć tekst, wyjaśniając tło obrazu. Można to uwzględnić obok adresu URL.

Twój pierwszy bot na Twitterze, gotowy do ponownego użycia!

Do tej pory powinieneś mieć uruchomionego automatycznego bota Twittera, udostępniającego zdjęcia, fakty i atrybuty na dany temat.

Podsumowując, proces jest następujący:

  • Zbierz swoje zdjęcia
  • Zainstaluj Node.js
  • Zbuduj swojego bota na Twitterze
  • Złóż wniosek o status programisty na Twitterze
  • Utwórz aplikację na Twitterze
  • Dodaj tablicę atrybucji
  • Zacznij tweetować!

Być może najlepszą rzeczą jest to, że kod może być używany do tweetowania zdjęć, faktów i atrybutów na dosłownie dowolny temat.

Chcesz wiedzieć, jakie inne boty możesz uruchomić przy podobnej konfiguracji? Sprawdź naszą listę najlepszych projektów botów Twitter dla Raspberry Pi 10 najlepszych projektów botów Twitter dla Raspberry Pi 10 najlepszych projektów botów Twitter dla Raspberry Pi !




ikeziwavu ([email protected])
12.09.20 02:41
http://mewkid.net/when-is-xuxlya/ - Amoxicillin Online <a href="http://mewkid.net/when-is-xuxlya/">Amoxil Dose For 55 Pounds</a> kff.oldw.pl.unedose.fr.yad.gu http://mewkid.net/when-is-xuxlya/
12.09.20 02:00
http://mewkid.net/when-is-xuxlya/ - Buy Amoxicillin Online <a href="http://mewkid.net/when-is-xuxlya/">Amoxicillin 500 Mg</a> lly.tgaa.pl.unedose.fr.wtv.kq http://mewkid.net/when-is-xuxlya/
O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.